Voici une petite procédure pour mettre en place une adresse IP(v4) « failover » de Online.net sur une machine virtuelle QEMU/KVM, avec hôte et invité sous Debian GNU/Linux.
Configuration de l’adresse IP « failover » chez Online.net
Il faut d’abord, via la console Onlinet.net de votre serveur dédié, commander une adresse IP « failover ».
Ensuite, il faut configurer cette adresse IP en lui affectant une adresse MAC virtuelle. Lors de cette opération, il faut choisir le type KVM (adresse MAC commençant par 52:54:00). Vous disposer alors d’une adresse IP et d’une adresse MAC qui vont servir dans le reste de la procédure.
Voici à quoi cela doit ressembler sur la console Online.net de votre serveur dédié (ici, il y a 2 adresses IP « failover »):
Configuration de l’interface réseau virtuelle
Ensuite, par exemple avec virt-manager, il faut configurer l’interface réseau virtuelle pour utiliser l’adresse MAC générée via la console Online (52:54:00:xx:xx:xx) avec:
- Source device: Host device eth0: macvtap
- Source mode: Bridge
Voici ce que cela donne sur virt-manager:
Configuration de la machine virtuelle
Il ne reste plus qu’à configurer la machine virtuelle. L’astuce, nécessaire ici, consiste à forcer le routage via une passerelle qui n’est pas dans le sous-réseau de l’adresse IP failover en indiquant le périphérique à utiliser. Cette passerelle est normalement la passerelle par défaut du serveur dédié (à priori en xxx.xxx.xxx.1 chez Online).
Voici un exemple de configuration pour Debian:
# ifdown eth0 # vi /etc/network/interfaces (...) auto eth0 iface eth0 inet static address 212.83.xxx.xxx netmask 255.255.255.255 post-up route add 62.210.xxx.1 dev eth0 post-up route add default gw 62.210.xxx.1 post-down route del default gw 62.210.xxx.1 post-down route del 62.210.xxx.1 dev eth0 # ifup eth0
Avec:
- 212.83.xxx.xxx à remplacer par l’adresse IP failover
- 62.210.xxx.1 à remplacer par l’adresse IP de la passerelle du serveur dédié hébergeant la machine virtuelle.
- netmask 255.255.255.255 pour que la machine virtuelle utilise la passerelle par défaut pour toutes les adresses IP, même celles qui sont dans son sous-réseau.
Notes
Avec cette configuration, même le trafic réseau entre le serveur dédié et la machine virtuelle via leurs adresses publiques fait un aller-retour jusqu’au commutateur Ethernet physique d’Online. Il est facile de contourner cela en utilisant une interface virtuelle supplémentaire dans un réseau virtuel « isolé » avec des adresses privées (par exemple 192.168.xxx.0/24)
Pour éviter cela, il est à priori aussi possible d’utiliser le serveur dédié lui-même comme passerelle, comme c’est la cas ici et là. Mais cela est un peu plus complexe et surtout ajoute de la configuration manuelle sur le serveur dédié. Notamment, il faut déclarer l’adresse IP failover dans les règles de routage, ce qui ne me parait pas une bonne idée s’il faut gérer de multiples machine virtuelles qui doivent pouvoir se déplacer entre plusieurs serveurs physiques.