Préparer son serveur pour des IP supplémentaires

Si votre serveur n'est pas récemment créé, et qu'il n'utilise pas Gandi AI, vous devez mettre à jour la couche de support Gandi adaptée. Cette couche logicielle se chargera de configurer automatiquement l'interface sur le serveur lors de son attachement.

Notez que cette installation n'est pas obligatoire si vous êtes expert et souhaitez configurer l'interface vous-même. Nous vous recommandons néanmoins de mettre à jour le paquet gandi-hosting-vm2 pour bénéficier de cette fonctionnalité. Sur une base Debian:

  • apt-get update pour mettre à jour la liste des paquets
  • apt-get install gandi-hosting-vm2 pour installer le dernier paquet gandi-hosting-vm

Pour un centOS:

  • yum update && yum install gandi-hosting-vm2

En mode expert, vous devrez forcer les réponses ARP à sortir par l'interface la mieux adaptée. En effet, par sécurité nous filtrons les requêtes et réponses ARP de chaque serveur virtuel, ce qui vous empêche d'annoncer l'adresse/mac d'eth1 en sortant par eth0. Il vous faudra également désactiver la validation d'origine “reverse path” RFC1812, car votre route par défaut étant placée sur eth0, les autres interfaces refuseront tout paquet non originaire de leur réseau local.

Sous linux vous obtiendrez cette configuration en modifiant votre configuration : dans /etc/sysctl.conf :

net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.all.arp_filter=0
net.ipv4.conf.all.rp_filter=0

puis en rechargeant le fichier de configuration :

sysctl -f /etc/sysctl.conf

ou manuellement :

sysctl -w net.ipv4.conf.all.arp_announce=2 
sysctl -w net.ipv4.conf.all.arp_filter=0
sysctl -w net.ipv4.conf.all.rp_filter=0

En raison de la manière dont les interfaces sont attachées au système, il se peut que les paramètres sysctl mentionnant 'all', soient définis *avant* que l'interface actuelle soit configurée / montée sur le serveur.

Définir les paramètres sysctl mentionnant 'default' avec la valeur appropriée peut faciliter l'attachement dynamique des interfaces. Une configuration spécifique peut par ailleurs s'appliquer sur chaque interface.

Voici un exemple de configuration de fichier 'sysctl.conf' pour trois interfaces réseau eth0, eth1 et eth2, où eth1 n'est pas utilisé pour le trafic sortant et filtre les paquets entrants :

net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth1.rp_filter = 1 ## Trafic local uniquement

Si une nouvelle interface attachée à votre serveur filtre le trafic entrant et si le systl ci-dessus ne résout pas le problème (paramètres 'all' et 'default' qui ne sont pas pris en compte), alors vous pouvez forcer les paramètres de l'interface concernée, en indiquant par exemple :

 net.ipv4.conf.eth1.arp_announce = 2
 net.ipv4.conf.eth1.rp_filter = 0

Dernière modification: le 11/06/2015 à 11:49 par romain t. (Gandi)