OVH Community, votre nouvel espace communautaire.

Utiliser une IP failover en tant qu'IP principale


AnonymousCoward
29/04/2015, 20h26
Ce n'est pas que ça ne marche pas. C'est que c'est "pas très beau".

Par exemple, dans ton cas, le NAT fait que tu envoie sur l'interface de l'IP principale des paquets qui prennent l'IP failover comme source. Sur le serveur OVH, avec les deux IPs sur une seule interface réseau, ça va. Mais imagine si tu tentes la même chose sur un routeur avec plusieurs connexions type ADSL ...

Et puis beaucoup trop de personnes pensent que l'on ne peut pas avoir un serveur avec plusieurs IP publiques. Ce qui n'est pas vrai. C'est possible avec les règles de routage (même si c'est moyen avec l'UDP).

Pour terminer, faire mumuse avec les règles de routage et autres fonctions un peu avancées du LARTC est un très bon moyen de progresser.

--
AnonymousCoward

octarian
29/04/2015, 16h24
Merci beaucoup pour ta réponse. Pourrais-tu préciser en quoi la solution que j'ai mis en place n'est pas bonne ?

AnonymousCoward
29/04/2015, 11h07
Le NAT, ça marche mais c'est pas super beau, quand-même.

Sinon, on peut faire comme ci-dessous :

- Ajouter l'IP failover à la main :
Code:
ip addr add ip.failover dev eth0
- Donner un nom pour une nouvelle table de routage :
Code:
vi /etc/iproute2/rt_tables
(dans mon exemple, fo1)

- Configurer la nouvelle table de routage :
Code:
ip route add ip.routeur via ip.failover table fo1
ip route add default via ip.routeur table fo1
- Ajouter la règle de routage pour que les connexions qui arrivent pour l'IP FO et qui sont donc "bind" sur l'IP FO utilisent la nouvelle table de routage au retour :
Code:
ip rule add priority 32000 from ip.failover table fo1
- Tester que l'on arrive parfaitement à se connecter sur l'IP failover.

- Donner la priorité à la table de routage utilisant l'IP failover sur la table de routage principale :
Code:
ip rule add priority 32000 table fo1 && ip rule del priority 32000
(cela paraît curieux mais si on ajoute une règle avec le même numéro qu'une précédente puis qu'on demande à supprimer le numéro en question, c'est la règle précédente qui dégage)

- Tester, re-tester et tester encore.

- Optionnellement, si on ne peut plus voir l'IP principale en peinture :
Code:
ip route add ip.routeur via ip.failover
ip route change default via ip.routeur
ip addr del ip.principale/24 dev eth0
ip rule del priority 32000
- Modifier les fichiers de configuration réseau pour que la configuration se retrouve au prochain redémarrage du serveur.

Par le présent paragraphe, je me dégage de toutes responsabilités quant au bon fonctionnement de la méthode donnée ci-dessus. Elle ne doit en aucun cas être utilisée sur un serveur en production, dans une centrale nucléaire ou pour le pilotage d'un véhicule ETC

--
AnonymousCoward

octarian
28/04/2015, 21h21
Merci pour la confirmation !

captainadmin
28/04/2015, 21h06
non c'est exactement ce que j'aurais fait aussi
ca vous permet aussi d'ajouter un firewall pour la machine au passage

bonne journée

octarian
28/04/2015, 13h02
Je viens de trouver la solution de faire du SNAT sur l'ensemble du traffic. Est-ce une bonne solution ?

iptables -t nat -A POSTROUTING -j SNAT --to-source {IP_FAILOVER}

Voyez-vous des problèmes de sécurité ou de performance ?

octarian
28/04/2015, 10h38
J'ai en fait un besoin assez particulier qui fait je souhaiterais utiliser uniquement cette adresse IP FO en sortie, quel que soit le service utilisé. Est-ce possible de faire cela ?

captainadmin
28/04/2015, 10h25
Hello,

Tu peux et tu dois l'ajouter dans ton fichier interfaces pour que ton ip fonctionne.
Par contre garde l'ip du serveur en place et utilise l'autre sur une interface virtuelle ou un alias d'interface.

Une fois ton serveur accessible avec cette nouvelle ip, tu pourras changer l'ip dans tes services.

Bonne journée

octarian
28/04/2015, 08h31
Bonjour,

Merci pour ta réponse.

Concrètement, est-il possible de faire cela au niveau de la configuration réseau de Debian (je pense à /etc/network/interfaces), plutôt qu'au niveau des services ?
L'objectif serait notamment de pouvoir faire `curl ipinfo.io/ip` et d'obtenir l'IP failover comme résultat.

Nowwhat
28/04/2015, 08h26
Bonjour,

Ce n'est même pas une option, c'est presque une obligation.
Ça commence avec le DNS: fait pointer ton nom de domaine sur le IPFO.
Informe Apache que ce 'nom de domaine' écoute sur cet IPFO bien précis. Il va donc répondre à des requêtes concernant ce 'nom de domaine' sur cet sur cet IPFO.

Pareil pour les mails, il est possible qu'il répond avec 'Bonjour, je suis "nom de domaine"" sur cet IPFO, et quand il va envoyer un mail de la part de 'nom de domaine", il va utiliser le IPFO.

Pareil pour les autres services.
Et idem pour les IPv6.

octarian
28/04/2015, 07h25
Bonjour,

Je possède un serveur OVH sous Debian 8, avec une IP failover.

Est-il possible de modifier la configuration réseau de ce serveur pour faire en sorte que l'IP failover prenne la place de l'IP principale actuelle ? Je souhaiterais ainsi qu'il soit possible de joindre le serveur avec l'IP failover, mais aussi que le serveur utilise uniquement cette IP failover en sortie (y compris lorsqu'une application comme Docker, qui crée une interface virtuelle, est utilisée).

Merci d'avance !