37 votes

Pourquoi le fait de supprimer une adresse IP inutilisée d'une interface coupe-t-il les connexions non liées à cette adresse ?

Hier, j'ai fait une réinstallation rapide d'un serveur (physique) dans le centre de données, et comme j'étais pressé et sans accès facile à notre base de données, j'ai juste attribué une adresse IP que je savais disponible et qui me permettrait plus tard d'accéder pour attribuer l'adresse correcte et continuer la configuration depuis un endroit plus chaud.

Aujourd'hui, je me suis connecté au serveur (à 172.16.130.10/22) et j'ai fait ce qui suit :

ip addr add 172.16.128.67/22 dev eth0

Depuis un terminal sur mon poste de travail local, j'ai vérifié s'il répondait au ping sur la nouvelle adresse et j'ai pu me connecter via celle-ci :

$ ping 172.16.128.67
PING 172.16.128.67 (172.16.128.67) 56(84) bytes of data.
64 bytes from 172.16.128.67: icmp_req=2 ttl=62 time=3.61 ms
64 bytes from 172.16.128.67: icmp_req=3 ttl=62 time=4.87 ms
^C
$ ssh 172.16.128.67

Jusqu'ici tout va bien, j'étais connecté via la nouvelle adresse IP et l'ancienne n'était plus nécessaire. J'ai donc supprimé l'ancienne :

ip addr del 172.16.130.10/22 dev eth0

Mais dès que j'ai appuyé sur Entrée ma session SSH s'est figée et je n'ai plus pu me connecter. J'ai dû demander à un opérateur sur place de redémarrer le serveur pour moi.

Où ai-je fait une erreur? Pourquoi supprimer cette adresse a-t-il coupé ma connexion?

55voto

Matthew Ife Points 22370

Sur Linux, les adresses IP ont une notion d'adresses 'primaire' et 'secondaires'. La primaire est généralement la première adresse que vous ajoutez au système. Supprimer l'adresse primaire a pour conséquence implicite de vider également l'ensemble de la liste des adresses secondaires.

Vous pouvez éviter ce comportement en définissant le sysctl net.ipv4.conf.all.promote_secondaries à 1 de la manière suivante :

sysctl -w net.ipv4.conf.all.promote_secondaries=1

Cela modifie le comportement de telle sorte que lorsque l'adresse IP primaire est supprimée, cela ne videra pas les adresses restantes et promouvra plutôt une nouvelle adresse IP en tant qu'adresse primaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X