Nous allons voir dans cet article comment assigner une IP Failover sans MAC sur une machine virtuel qui tourne sous Proxmox et hébergé chez Hetzner.
Depuis peu, j’ai fait l’acquisition d’un serveur dédié chez le prestataire Allemand Hetzner. Voulant faire de la virtualisation sous Proxmox, je désiré avoir des IP Failover différente sur chacune de mes machines virtuelles. Malheureusement, les IP Failover chez Hetzner ne possèdent pas d’adresse MAC, ce qui rend la manip quelque peut différente pour quelqu’un comme moi qui as l’habitude des IP Failover chez Online.net ou OVH qui dispose d’adresse MAC.
Les IP Failover sont des IP qui ont un avantage technique, par rapport au IP classique. Elles coûtent malheureusement souvent beaucoup plus cher qu’une simple IP. Mais elles ont la possibilité de changer de serveur en un très court laps de temps. Ce qui permet de répondre à certains besoins de Haute Disponibilité. Par exemple avec un script on pourrait automatiser le déplacement de la Failover si un serveur qui héberge un service sensible vient à être indisponible. On peut donc réaliser des basculements d’ip.
Dans cet article je vous présente la procédure à suivre pour assigner des IP Failover chez Hetzner lorsque l’on souhaite faire de la virtualisation sous Proxmox. Cet article est donc uniquement valable pour cet hébergeur. Cependant cela peu vous aider si vous rencontrer le même type de situation chez un autre hébergeur. Chez Hetzner, les IP Failover ne possèdent pas d’adresse MAC. Ce qui peut être un peut déroutant pour quelqu’un ayant l’habitude de travailler avec des adresses MAC.
Attention, Dans cet article je présente la manipulation compatible pour des machines virtuel KVM. Donc la procédure sera différente pour des containers sous LXC/OpenVZ !
Pré-requis
Il faut avoir une installation de Debian et de Proxmox bien évidement à jour. Personnellement, pour installer Proxmox j’ai utilisé l’installimage du mode Rescue de Hetzner.
Une fois votre serveur Proxmox fraîchement installé il va falloir autoriser à votre serveur de re-routé un réseau IPv4.
sysctl -w net.ipv4.ip_forward=1
On va également se rendre dans /etc/sysctl.conf pour s’assurer que lors d’un éventuel prochain redémarrage de votre serveur, la règle reste active après un redémarrage pour éviter tout accident.
nano /etc/sysctl.conf # Il trouver la ligne et s'assurer qu'elle ne soit pas commenté net.ipv4.ip_forward=1
Il faut évidemment assigner votre IP Failover au serveur concerné, par l’interface de l’hébergeur.
Configuration Serveur Hôte Proxmox
Nous allons dans un premier temps configurer l’interface réseau du côté du serveur Hôte.
Voici les éléments que vous devez avoir.
Attention, ‘eth0’ peut porter un autre nom, selon la configuration de votre serveur. Cela peut être par exemple ‘enp5s’.
nano /etc/network/interfaces auto lo iface lo inet loopback ## Connection Internet Du Serveur Hôtes ## Cette partie là est normalement bien configuré d'origine ## Donc aucune modification est à apporté ## Attention Ci-dessus il y a 'eth0' mais il ce peut qu'il porte un nom différent !! auto eth0 iface eth0 inet static address <IP Serveur Hôte> netmask 255.255.255.255 pointopoint <Gateway Serveur Hôte> gateway <Gateway Serveur Hôte> ## Bridge pour les VM de proxmox ## A Ajouté a la suite de votre fichier de configuration auto vmbr0 iface vmbr0 inet static address <IP Serveur Hôte> netmask 255.255.255.255 bridge_ports none bridge_stp off bridge_fd 0 ## Une ligne par IP Failover up ip route add <1ère IP Failover>/32 dev vmbr0 up ip route add <2ème IP Failover>/32 dev vmbr0 ## ETC ...
On doit maintenant activer le bridge ‘vmbr0’ que l’on vient d’ajouter.
ifup vmbr0
S’il y a aucune erreur, nous en avons normalement terminé avec la configuration coté serveur Hôte.
Configuration Serveur Invité (VM KVM)
Nous allons configurer l’interface réseau de la machine virtuel KVM.
Attention, ‘ens18’ est le nouveau nom de l’interface par défaut de l’installateur Debian 9. À remplacer par le nom de votre interfaces configuré sur votre VM.
nano /etc/network/interfaces auto lo iface lo inet loopback auto ens18 iface ens18 inet static address <IP Failover Désiré> netmask 255.255.255.255 pointopoint <IP Serveur Hôte> gateway <IP Serveur Hôte>
Attention, comme vous devez vous en apercevoir, on définis le ‘Pointopoint’ qui est malheureusement indispensable. Car on ne peut pas le définir dans l’installateur de Debian. Il faudra donc installer Debian à partir d’un ISO CD complet et faire une installation sans réseau.
On active maintenant l’interface que l’on vient de créer.
ifup ens18
S’il y aucune erreur, c’est qu’il a normalement bien capté sont adresse IP.
Ensuite, il faut configurer un ou plusieurs serveurs de nom (DNS). Car pour l’instant votre VM ne peut résoudre aucuns noms de domaine.
Pour des raisons de rapidité et de disponibilité, on va utiliser des serveurs DNS connue et fiable, celui de CloudFlare et ceux de Google.
nano /etc/resolv.conf nameserver 1.1.1.1 nameserver 8.8.8.8 nameserver 8.8.4.4
À noter que l’ordre de priorité utilisé pour les serveurs DNS est l’ordre dans le lequel ils sont renseigné dans ce fichier.
Si vous avez fait une installation de Debian sans connexion internet, vous n’aurait aucun dépôt de paquets de configurer.
Il faudra donc renseigner manuellement le miroir que vous souhaitez utiliser.
Pour cela, je vous conseille se site qui permet de générer automatiquement une liste de dépôt de paquets selon votre situation géographique. debgen.simplylinux.ch
nano /etc/apt/sources.list ###### Debian Main Repos deb http://ftp.de.debian.org/debian/ stable main contrib non-free deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free deb http://ftp.de.debian.org/debian/ stable-updates main contrib non-free deb-src http://ftp.de.debian.org/debian/ stable-updates main contrib non-free deb http://security.debian.org/ stable/updates main deb-src http://security.debian.org/ stable/updates main deb http://ftp.debian.org/debian stretch-backports main deb-src http://ftp.debian.org/debian stretch-backports main
Après cela, vous devez bien évidemment faire un apt-get update
apt-get update
Si vous n’avez eu aucune erreur lors de la lecture des miroirs. Alors vous avez réussi a configuré votre IP Failover.
Conclusion
Vous avez dès à présent réussi à assigner une IP Failover sur une machine virtuel (KVM) sous Proxmox et en plus Sans adresse MAC.
Sources :
- Proxmox (Documentation)
- Wiki Hetzner (Documentation)