Hier, j'ai réinstallé rapidement un serveur (physique) dans le centre de données. Comme je n'avais que peu de temps et sans accès facile à notre base de données, je lui ai simplement attribué une adresse IP dont je savais qu'elle était disponible et qui me permettrait d'accéder plus tard à l'attribution. la bonne adresse et continuez à approvisionner depuis un endroit plus chaud.
Aujourd'hui, je me suis connecté au serveur (à l'adresse 172.16.130.10/22) et j'ai procédé comme suit:
ip addr add 172.16.128.67/22 dev eth0
À partir d'un terminal de mon poste de travail local, j'ai vérifié qu'il répondait à un ping sur la nouvelle adresse et que je me connectais 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 allait bien, j'étais connecté via la nouvelle adresse IP et l'ancienne n'était plus nécessaire. Je suis allé de l'avant et l'ai enlevé:
ip addr del 172.16.130.10/22 dev eth0
Mais dès que j'ai commencé Enterma session SSH, j'ai gelé et je ne pouvais plus me connecter. J'ai dû demander à un opérateur sur site de redémarrer le serveur pour moi.
Où est-ce que je me suis trompé? Pourquoi la suppression de cette adresse tuerait-elle ma connexion?
Réponses:
Sous Linux, les adresses IP ont la notion d'adresses «primaire» et «secondaire». Le principal est généralement la première adresse que vous ajoutez au système. La suppression de l'adresse principale entraîne également l'opération implicite de vider la liste complète des adresses secondaires.
Vous pouvez éviter ce problème en définissant le sysctl
net.ipv4.conf.all.promote_secondaries
sur 1 comme suit :Cela modifie le comportement de telle sorte que lorsqu'une adresse IP principale est supprimée, les adresses restantes ne seront pas vidées mais une nouvelle adresse IP sera promue en tant qu'adresse principale.
la source
An IP address becomes secondary if another address within the same prefix (network) already exists. The first address within the prefix is primary and is the tag address for the group of all the secondary addresses. When the primary address is deleted all of the secondaries are purged too.