{"id":77,"date":"2018-08-24T16:31:00","date_gmt":"2018-08-24T14:31:00","guid":{"rendered":"http:\/\/devinfo.kenn.udona.fr\/blog\/?p=77"},"modified":"2021-05-26T19:12:49","modified_gmt":"2021-05-26T17:12:49","slug":"utiliser-les-ip-failover-sans-mac-sur-proxmox-en-kvm-chez-hetzner","status":"publish","type":"post","link":"https:\/\/udona.fr\/blog\/utiliser-les-ip-failover-sans-mac-sur-proxmox-en-kvm-chez-hetzner\/","title":{"rendered":"Utiliser les IP FAILOVER Sans MAC sur Proxmox en KVM chez Hetzner"},"content":{"rendered":"\n<p>Nous allons voir dans cet article comment <strong>assigner une IP Failover sans MAC<\/strong> sur une machine virtuel qui tourne sous <strong>Proxmox<\/strong> et h\u00e9berg\u00e9 chez <strong>Hetzner<\/strong>.<\/p>\n\n\n\n<p>Depuis peu, j&rsquo;ai fait l&rsquo;acquisition d&rsquo;un serveur d\u00e9di\u00e9 chez le prestataire Allemand Hetzner. Voulant faire de la virtualisation sous Proxmox, je d\u00e9sir\u00e9 avoir <strong>des IP Failover diff\u00e9rente<\/strong> sur chacune de mes machines virtuelles. Malheureusement, les IP Failover chez Hetzner ne <strong>poss\u00e8dent pas d&rsquo;adresse MAC<\/strong>, ce qui rend la manip quelque peut diff\u00e9rente pour quelqu&rsquo;un comme moi qui as l&rsquo;habitude des IP Failover chez Online.net ou OVH <strong>qui dispose d&rsquo;adresse MAC<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><strong>Les IP Failover<\/strong> sont des IP qui ont <strong>un avantage technique<\/strong>, par rapport au IP classique. Elles co\u00fbtent malheureusement souvent beaucoup <strong>plus cher<\/strong> qu&rsquo;une simple IP. Mais elles ont la possibilit\u00e9 de <strong>changer de serveur<\/strong> en un <strong>tr\u00e8s court laps de temps<\/strong>. Ce qui permet de r\u00e9pondre \u00e0 certains besoins de <strong>Haute Disponibilit\u00e9<\/strong>. Par exemple avec un script on pourrait automatiser le d\u00e9placement de la Failover si un serveur qui h\u00e9berge un service sensible vient \u00e0 \u00eatre indisponible. On peut donc r\u00e9aliser <strong>des basculements<\/strong> d&rsquo;ip.<\/p>\n\n\n\n<p>Dans cet article je vous pr\u00e9sente <strong>la proc\u00e9dure \u00e0 suivre<\/strong> pour assigner des <strong>IP Failover chez Hetzner<\/strong> lorsque l&rsquo;on souhaite faire de la virtualisation <strong>sous Proxmox<\/strong>. Cet article est donc uniquement valable pour cet h\u00e9bergeur. Cependant cela peu vous aider si vous rencontrer le m\u00eame type de situation chez un autre h\u00e9bergeur. Chez Hetzner, les IP Failover ne poss\u00e8dent pas d&rsquo;adresse MAC. Ce qui peut \u00eatre un peut d\u00e9routant pour quelqu&rsquo;un ayant l&rsquo;habitude de travailler avec des adresses MAC.<\/p>\n\n\n\n<p><em><strong>Attention, Dans cet article je pr\u00e9sente la manipulation compatible pour des machines virtuel KVM. Donc la proc\u00e9dure sera diff\u00e9rente pour des containers sous LXC\/OpenVZ !<\/strong><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9-requis<\/h2>\n\n\n\n<p>Il faut avoir une installation de <strong>Debian<\/strong> et de <strong>Proxmox&nbsp;<\/strong>bien \u00e9videment <strong>\u00e0 jour<\/strong>. Personnellement, pour installer Proxmox j&rsquo;ai utilis\u00e9 l&rsquo;installimage du mode Rescue de Hetzner.<\/p>\n\n\n\n<p>Une fois votre serveur Proxmox fra\u00eechement install\u00e9 il va falloir <strong>autoriser<\/strong> \u00e0 votre serveur de <strong>re-rout\u00e9 un r\u00e9seau IPv4<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">sysctl -w net.ipv4.ip_forward=1<\/pre><\/div>\n\n\n\n<p>On va \u00e9galement se rendre dans&nbsp;\/etc\/sysctl.conf pour s&rsquo;assurer que lors d&rsquo;un \u00e9ventuel prochain <strong>red\u00e9marrage<\/strong> de votre serveur, la r\u00e8gle reste active apr\u00e8s un red\u00e9marrage pour <strong>\u00e9viter tout accident<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">nano \/etc\/sysctl.conf\n\n# Il trouver la ligne et s'assurer qu'elle ne soit pas comment\u00e9\nnet.ipv4.ip_forward=1<\/pre><\/div>\n\n\n\n<p>Il faut \u00e9videmment assigner votre IP Failover au serveur concern\u00e9, par <strong>l&rsquo;interface de l&rsquo;h\u00e9bergeur<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration Serveur H\u00f4te Proxmox<\/h2>\n\n\n\n<p>Nous allons dans un premier temps configurer l&rsquo;interface r\u00e9seau du c\u00f4t\u00e9 du <strong>serveur H\u00f4te<\/strong>.<br>Voici les \u00e9l\u00e9ments que vous devez avoir.<br><em><strong>Attention, &lsquo;eth0&rsquo; peut porter un autre nom, selon la configuration de votre serveur. Cela peut \u00eatre par exemple &lsquo;enp5s&rsquo;.<\/strong><\/em><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">nano \/etc\/network\/interfaces\n\nauto lo\niface lo inet loopback\n\n## Connection Internet Du Serveur H\u00f4tes\n## Cette partie l\u00e0 est normalement bien configur\u00e9 d'origine\n## Donc aucune modification est \u00e0 apport\u00e9\n## Attention Ci-dessus il y a 'eth0' mais il ce peut qu'il porte un nom diff\u00e9rent !!\nauto  eth0\niface eth0 inet static\n       address   &amp;lt;IP Serveur H\u00f4te&amp;gt;\n       netmask   255.255.255.255\n       pointopoint   &amp;lt;Gateway Serveur H\u00f4te&amp;gt;\n       gateway   &amp;lt;Gateway Serveur H\u00f4te&amp;gt;\n\n## Bridge pour les VM de proxmox\n## A Ajout\u00e9 a la suite de votre fichier de configuration\nauto vmbr0\niface vmbr0 inet static\n       address   &amp;lt;IP Serveur H\u00f4te&amp;gt;\n       netmask   255.255.255.255\n       bridge_ports none\n       bridge_stp off\n       bridge_fd 0\n       ## Une ligne par IP Failover\n       up ip route add &amp;lt;1\u00e8re IP Failover&amp;gt;\/32 dev vmbr0\n       up ip route add &amp;lt;2\u00e8me IP Failover&amp;gt;\/32 dev vmbr0 ## ETC ...<\/pre><\/div>\n\n\n\n<p><strong>On doit maintenant activer le bridge<\/strong> &lsquo;vmbr0&rsquo; que l&rsquo;on vient d&rsquo;ajouter.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">ifup vmbr0<\/pre><\/div>\n\n\n\n<p>S&rsquo;il y a aucune erreur, nous en avons normalement <strong>termin\u00e9<\/strong> avec la configuration cot\u00e9 <strong>serveur H\u00f4te<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuration Serveur Invit\u00e9 (VM KVM)<\/h2>\n\n\n\n<p>Nous allons configurer l&rsquo;interface r\u00e9seau de <strong>la machine virtuel KVM<\/strong>.<\/p>\n\n\n\n<p><em><strong>Attention, &lsquo;ens18&rsquo; est le nouveau nom de l&rsquo;interface par d\u00e9faut de l&rsquo;installateur Debian 9. \u00c0 remplacer par le nom de votre interfaces configur\u00e9 sur votre VM.<\/strong><\/em><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">nano \/etc\/network\/interfaces\n\nauto lo\niface lo inet loopback\n\nauto  ens18\niface ens18 inet static\n       address   &amp;lt;IP Failover D\u00e9sir\u00e9&amp;gt;\n       netmask   255.255.255.255\n       pointopoint   &amp;lt;IP Serveur H\u00f4te&amp;gt;\n       gateway   &amp;lt;IP Serveur H\u00f4te&amp;gt;<\/pre><\/div>\n\n\n\n<p><em><strong>Attention, comme vous devez vous en <\/strong><strong>apercevoir, on d\u00e9finis le &lsquo;Pointopoint&rsquo; qui est malheureusement&nbsp;indispensable<\/strong><strong>. Car on ne peut pas le d\u00e9finir dans <\/strong><strong>l&rsquo;installateur<\/strong><strong>&nbsp;de Debian. Il <\/strong><strong>faudra<\/strong><strong>&nbsp;donc installer Debian \u00e0 partir d&rsquo;un ISO CD complet et faire une installation sans r\u00e9seau.&nbsp;<\/strong><\/em><\/p>\n\n\n\n<p><strong>On active maintenant l&rsquo;interface<\/strong> que l&rsquo;on vient de cr\u00e9er.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">ifup ens18<\/pre><\/div>\n\n\n\n<p>S&rsquo;il y aucune erreur, c&rsquo;est qu&rsquo;il a normalement bien capt\u00e9 sont adresse IP.<\/p>\n\n\n\n<p>Ensuite, il faut configurer un ou plusieurs<strong> serveurs de nom (DNS)<\/strong>. Car pour l&rsquo;instant votre VM <strong>ne peut r\u00e9soudre aucuns noms de domaine<\/strong>.<br>Pour des raisons de rapidit\u00e9 et de disponibilit\u00e9, on va utiliser des serveurs DNS connue et fiable, celui de <strong>CloudFlare<\/strong> et ceux de <strong>Google<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">nano \/etc\/resolv.conf\n\nnameserver 1.1.1.1\nnameserver 8.8.8.8\nnameserver 8.8.4.4<\/pre><\/div>\n\n\n\n<p>\u00c0 noter que l&rsquo;ordre de priorit\u00e9 utilis\u00e9 pour les serveurs DNS est l&rsquo;ordre dans le lequel ils sont renseign\u00e9 dans ce fichier.<\/p>\n\n\n\n<p>Si vous avez fait une installation de Debian sans connexion internet, vous n&rsquo;aurait<strong> aucun d\u00e9p\u00f4t de paquets<\/strong> de <strong>configurer<\/strong>.<br>Il faudra donc renseigner <strong>manuellement<\/strong> le miroir que vous souhaitez utiliser.<br>Pour cela, je vous conseille se <a href=\"https:\/\/debgen.simplylinux.ch\" target=\"_blank\" rel=\"noopener\">site<\/a> qui permet de g\u00e9n\u00e9rer <strong>automatiquement<\/strong> une liste de d\u00e9p\u00f4t de paquets selon votre <strong>situation g\u00e9ographique<\/strong>.&nbsp; <a href=\"https:\/\/debgen.simplylinux.ch\" target=\"_blank\" rel=\"noopener\">debgen.simplylinux.ch<\/a><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">nano \/etc\/apt\/sources.list\n\n###### Debian Main Repos\ndeb http:\/\/ftp.de.debian.org\/debian\/ stable main contrib non-free\ndeb-src http:\/\/ftp.de.debian.org\/debian\/ stable main contrib non-free\n\ndeb http:\/\/ftp.de.debian.org\/debian\/ stable-updates main contrib non-free\ndeb-src http:\/\/ftp.de.debian.org\/debian\/ stable-updates main contrib non-free\n\ndeb http:\/\/security.debian.org\/ stable\/updates main\ndeb-src http:\/\/security.debian.org\/ stable\/updates main\n\ndeb http:\/\/ftp.debian.org\/debian stretch-backports main\ndeb-src http:\/\/ftp.debian.org\/debian stretch-backports main<\/pre><\/div>\n\n\n\n<p>Apr\u00e8s cela, vous devez bien \u00e9videmment faire un<strong> apt-get update<\/strong><\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text\/x-sh&quot;,&quot;theme&quot;:&quot;monokai&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;file.sh&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;modeName&quot;:&quot;shell&quot;}\">apt-get update<\/pre><\/div>\n\n\n\n<p>Si vous n&rsquo;avez eu aucune erreur lors de la lecture des miroirs. Alors vous avez r\u00e9ussi a <strong>configur\u00e9 votre IP Failover<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p><strong>Vous avez d\u00e8s \u00e0 pr\u00e9sent r\u00e9ussi<\/strong>&nbsp;\u00e0 assigner une <strong>IP Failover<\/strong> sur une <strong>machine virtuel (KVM)<\/strong> sous <strong>Proxmox<\/strong> et en plus Sans adresse <strong>MAC<\/strong>.<\/p>\n\n\n\n<p><em>Sources :<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><em><a href=\"https:\/\/pve.proxmox.com\/wiki\/Network_Model\" target=\"_blank\" rel=\"noreferrer noopener\">Proxmox<\/a>&nbsp;(Documentation)<\/em><\/li><li><em><a href=\"https:\/\/wiki.hetzner.de\/index.php\/Proxmox_VE\/en\" target=\"_blank\" rel=\"noreferrer noopener\">Wiki Hetzner<\/a>&nbsp;(Documentation)<\/em><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Nous allons voir dans cet article comment assigner une IP Failover sans MAC sur une machine virtuel qui tourne sous Proxmox et h\u00e9berg\u00e9 chez Hetzner. Depuis peu, j&rsquo;ai fait l&rsquo;acquisition d&rsquo;un serveur d\u00e9di\u00e9 chez le prestataire Allemand Hetzner. Voulant faire de la virtualisation sous Proxmox, je d\u00e9sir\u00e9 avoir des IP Failover diff\u00e9rente sur chacune de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":81,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[7,8,6],"class_list":["post-77","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proxmox","tag-hetzner","tag-ip-failover","tag-network"],"_links":{"self":[{"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/posts\/77","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/comments?post=77"}],"version-history":[{"count":1,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":78,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/posts\/77\/revisions\/78"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/media\/81"}],"wp:attachment":[{"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/media?parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/categories?post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/udona.fr\/blog\/wp-json\/wp\/v2\/tags?post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}