• Home  / 
  • Linux
  •  /  Installer une ip failover sur Linux (Debian ou Ubuntu)

Installer une ip failover sur Linux (Debian ou Ubuntu)

By KrustyHack / last month
IP failover OVH

Ay,

Aujourd’hui on va rapidement parler des IPs failover pour voir comment installer une ip failover sur Linux (Debian ou Ubuntu). Bien évidemment, je prend le Cloud OVH comme exemple car je suis client mais ce tuto s’adapte très bien à tout type d’infrastructures et providers.

Prérequis :

  • savoir ce qu’est SSH
  • connaître un minimum l’environnement Linux
  • avoir un VPS installé et en fonctionnement avec une IP failover prête à être routée : dans mon tuto l’IP du serveur sera aa.bb.cc.dd et l’IP failover sera ww.xx.yy.zz

Qu’est-ce qu’une IP failover : une IP failover n’est rien d’autre qu’une Ip classique, sauf qu’à contrario de la classique, vous pouvez la router à votre guise vers n’importe quel serveur de votre infrastructure. Elles sont souvent utilisés par exemple pour la gestion d’incidents et de pannes afin de rediriger le traffic sur un serveur sain.

Exemple d’un routage lors d’un incident, le serveur A étant ici en panne (une réplication de A à B est nécessaire pour avoir les mêmes données sur B, évidemment) :

IP failover incident OVH

IP failover incident OVH

Mais aujourd’hui on va l’utiliser pour autre chose. Nous allons attribuer 1 IPs failover à un serveur Linux afin d’avoir 2 IPs de classe C différentes (la fixe du serveur et la failover). Pratique pour héberger un PBN, même si là bien entendu il n’y a que 2 IPs différentes pour les besoins du tuto.

Exemple d’un routage à 2 failover :

Ip failover OVH

Ip failover OVH

Pour info sur un de mes VPS OVH je suis monté à 33 IPs classe C différentes. Par contre je vous dit pas la gueule de l’interface OVH qui galère à charger et la tronche du fichier de configuration du network. :p

Bref, commençons.

 1. Paramétrer l’interface réseau pour la nouvelle IP failover

On se connecte à notre serveur et on fait un petit ifconfig afin de voir le nom de notre interface principale :

root@KrustyKali:~# ssh youaresobeautiful.really
root@_:~# ifconfig
ens3      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:aa.bb.cc.dd  Bcast:aa.bb.cc.dd  Mask:255.255.255.255
          inet6 addr: aaaa::aaaa:aaaa:aaaa:aaa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1508953 errors:0 dropped:0 overruns:0 frame:0
          TX packets:849817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:364955453 (364.9 MB)  TX bytes:93504612 (93.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:753151 errors:0 dropped:0 overruns:0 frame:0
          TX packets:753151 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:48902816 (48.9 MB)  TX bytes:48902816 (48.9 MB)

Comme vous le voyez mon interface principale est ens3. Selon les providers cela peut varier évidemment.

On va ensuite configurer notre interface virtuelle pour accueillir notre IP failover ww.xx.yy.zz en créant le fichier /etc/network/interfaces.d/failover.cfg. Vous pouvez le nommer comme bon vous semble, pas de soucis.

A l’intérieur, on y met ceci :

root@_:~# /etc/network/interfaces.d# cat failover.cfg 
auto ens3:1
iface ens3:1 inet static
    address ww.xx.yy.zz
    netmask 255.255.255.255
    broadcast ww.xx.yy.zz

Bim on sauvegarde et on vérifie que le dossier /etc/network/interfaces.d est bien inclue dans notre configuration de réseau:

root@_:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Niquel, le dossier est bien sourcé
source /etc/network/interfaces.d/*.cfg

Super, on peut redémarrer notre interface réseau :

root@_:~# /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.
root@_:~#

Cool, on a toujours un accès réseau et la conf a été validée puis rechargée.

2. Brancher l’IP failover à notre serveur

Branchons maintenant notre IP failover à notre serveur via l’interface Public Cloud OVH (ici notre failover est la 87.xxx.xxx.91) :

IP failover OVH

IP failover OVH

Il suffit d’attendre quelques minutes que le branchement se fasse pour pouvoir pinger notre nouvelle IP depuis l’extérieur :

root@KrustyKali:~# ping ww.xx.yy.zz
PING ww.xx.yy.zz (ww.xx.yy.zz) 56(84) bytes of data.
64 bytes from ww.xx.yy.zz: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from ww.xx.yy.zz: icmp_seq=2 ttl=64 time=0.057 ms
64 bytes from ww.xx.yy.zz: icmp_seq=3 ttl=64 time=0.047 ms
^C
--- ww.xx.yy.zz ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2030ms
rtt min/avg/max/mdev = 0.045/0.049/0.057/0.009 ms

Et voilà ! On a une 2ème IP prête sur notre serveur. Vous devez bien entendu répéter l’opération pour chaque nouvelle IP failover que vous désirez ajouter en modifier le fichier /etc/network/interfaces.d/failover.cfg.

Il ne vous reste plus qu’à mapper un vhost sur cette IP failover puis à attribuer un enregistrement A pour votre domaine avec l’IP failover comme valeur A et le tour est joué. Vous pouvez héberger 2 sites sur le même serveur avec 2 IPs différentes. Bravo à vous !

A bientôt !

Merci à OVH pour leurs images d’illustration et leurs offres que j’utilise depuis… ppfffiiuuuu, trop longtemps déjà.

Leave a comment: