Personal tools
You are here: Home GNU / Linux Debian 4.0 Etch Mettre en oeuvre la solution IP Failover proposée par la société OVH
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Mettre en oeuvre la solution IP Failover proposée par la société OVH

by Pierre-Yves Landuré last modified 2010-06-18 10:06

OVH, la société qui héberge mon serveur dédié, donne la possibilité d'associer plusieurs adresses IP à un même serveur. C'est très pratique lorsqu'il s'agit de mettre en place plusieurs sites avec des certificats SSL différents sur un même serveur. De plus, la solution proposée étant basée sur le routage, cela permet de changer simplement de serveur lors de migration ou de pannes matérielles.

Création de l'IP failover

La première étape pour associer une IP failover à votre serveur est de vous connecter au manager OVH. Une fois connecté, rendez vous dans la rubrique "Serveurs dédiés -> Services -> IP Failover", et ajoutez une adresse IP.

Configuration du serveur

Une fois votre IP failover créée, il vous faut mettre à jour la configuration de votre serveur dédié. Ouvrez un shell root sur votre serveur, et renseignez l'adresse IP failover que vous venez de créer:

IP_FAILOVER=92.131.53.135

Une fois ceci-fait, chargez le module dummy (ici, je prévois 8 interfaces dummy possibles, c'est le nombre d'adresses IP failover dont je dispose):

/sbin/modprobe dummy numdummies=8

Faites en sorte que le nombre d'interface dummy autorisées soient automatiquement de 8:

echo "# Allow up to 8 dummy interfaces
options dummy numdummies=8" \
    | tee /etc/modprobe.d/dummy

Et faites en sorte qu'il soit chargé au démarrage de votre serveur:

if [ -z "$(/bin/grep dummy /etc/modules)" ]; then
  /bin/echo "dummy" | /usr/bin/tee -a /etc/modules
fi

Une fois ceci fait, nous créons une nouvelle interface réseau pour notre IP failover.

DUMMY_NUMBER=$(/bin/grep -e "iface[ \t]*dummy" /etc/network/interfaces | /usr/bin/wc --lines)
IP_NETWORK=$(/bin/echo ${IP_FAILOVER} | /bin/sed -e 's/^\(\([0-9]*\.\)\{3\}\).*$/\1/')
/bin/echo "auto dummy${DUMMY_NUMBER}
iface dummy${DUMMY_NUMBER} inet static
  address ${IP_FAILOVER}
  netmask 255.255.255.255
  network ${IP_NETWORK}0
  broadcast ${IP_NETWORK}255
" | /usr/bin/tee -a /etc/network/interfaces

Vous pouvez maintenant tenter de monter votre interface:

/sbin/ifup dummy${DUMMY_NUMBER}

Vous devriez maintenant être en mesure de pinger votre adresse IP failover.

Utilisation d'une adresse IP failover avec une machine virtuelle Xen

Réseau Xen en mode Bridge

Un autre intérêt des adresses IP failover est de pouvoir être utilisées par des machines virtuelles Xen disposant d'une interface réseau en mode bridge. Dans ce cas, il n'est nul besoin de mettre en oeuvre l'étape précédente. En effet, pour utiliser votre adresse IP failover, il vous suffit de configurer votre machine virtuelle Xen en mode bridge pour utiliser cette IP.

Réseau Xen en mode NAT

Dans le cas d'une machine virtuelle en mode NAT (configuration que je préfère pour un serveur dédié, car cela apporte une sécurité supplémentaire (du moins, je trouve)), c'est un peu plus complexe. En effet, dans le cas ou vous souhaitez utiliser votre adresse IP pour héberger un site Internet sécurisé par un certificat SSL, il est nécessaire que Apache dispose d'une interface réseau supplémentaire à laquelle se relier.

Important: cette configuration, contrairement au mode Bridge, nécessite la mise en place d'une interface "dummy" pour l'adresse IP failover dans le Dom0. Cela peut être réalisé en suivant les explication de la section précédente.

Pour répondre à ce besoin, vous devez modifier la configuration de votre machine virtuelle et ajouter une seconde adresse IP (ou plus, selon vos besoins):

vif  = [ 'ip=10.0.0.1', 'ip=10.0.0.2' ]

Attention : Xen ne supporte que 3 interfaces réseaux MAXIMUM par domaine.

Ensuite, identifiez-vous sur la machine virtuelle ainsi modifiée, et modifiez le fichier /etc/network/interfaces pour y ajouter les lignes de configuration nécessaires au bon fonctionnement de l'interface réseau supplémentaire:

# The primary network interface
auto eth0
iface eth0 inet static
 address 10.0.0.1
 gateway 10.0.0.128
 netmask 255.255.255.0

# The secondary network interface
auto eth1
iface eth1 inet static
 address 10.0.0.2
 gateway 10.0.0.128
 netmask 255.255.255.0

Une fois ceci, il ne vous reste plus qu'a arrêter et redémarrer votre machine virtuelle Xen pour prendre ne compte la configuration:

xm shutdown httpd-vm
xm create httpd-vm.cfg

Vous pouvez maintenant modifier le fichier /etc/network/if-up.d/iptables pour y ajouter les règles Iptables nécessaires pour que votre nouvelle interface soit liée à votre adresse IP failover:

iptables -A PREROUTING -t nat -p tcp -d ${IP_FAILOVER} --dport 80 -j DNAT --to 10.0.0.2:80
iptables -A PREROUTING -t nat -p tcp -d ${IP_FAILOVER} --dport 443 -j DNAT --to 10.0.0.2:443

ou ${IP_FAILOVER} est votre adresse IP failover.

Important:

Les règles concernant la ou les IP failover sont à placer avant la règle NAT "par défaut" pour eth0, c'est à dire avant les ligne qui ressemblent à :

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.1:80
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 443 -j DNAT --to 10.0.0.1:443

j'ai une idée

Posted by ashemta at 2011-03-26 13:26
il faudrait que tu nous ponde le même sujet mais pourvoir redirigé l'ip failover sur un serveur qui n'est pas cher ovh
ci tu voix ceux que je veut dire ou du moins faire une liste de protocole/ logiciel qui géré ce genre de cas.

Je te remercie

c'est assez simple

Posted by Lone Wolf at 2011-03-26 15:20
Remplace le 10.0.0.x des lignes de commande par l'IP du serveur non OVH.

Bonne continuation.

BlogBang
Navigation
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards:

Wikio