Gestern habe ich eine schnelle Neuinstallation eines (physischen) Servers im Rechenzentrum durchgeführt. Da ich wenig Zeit hatte und keinen einfachen Zugriff auf unsere Datenbank hatte, habe ich ihm nur eine IP zugewiesen, von der ich wusste, dass sie verfügbar ist und die mir später den Zugriff ermöglichen würde Stellen Sie die richtige Adresse ein und setzen Sie die Bereitstellung von einem wärmeren Ort aus fort.
Heute habe ich mich am Server angemeldet (am 172.16.130.10/22) und folgendes getan:
ip addr add 172.16.128.67/22 dev eth0
Von einem Terminal auf meiner lokalen Workstation aus habe ich überprüft, ob es auf das Anpingen der neuen Adresse geantwortet hat, und mich über dieses Terminal angemeldet:
$ 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
Soweit so gut, war ich über die neue IP-Adresse verbunden und die alte war nicht mehr nötig. Ich ging voran und entfernte es:
ip addr del 172.16.130.10/22 dev eth0
Aber sobald ich auf Entermeine SSH-Sitzung traf, fror ich ein und konnte keine Verbindung mehr herstellen. Ich musste einen Vor-Ort-Operator bitten, den Server für mich neu zu starten.
Was habe ich falsch gemacht? Warum würde das Entfernen dieser Adresse meine Verbindung beenden?
Antworten:
Unter Linux werden IP-Adressen als "primäre" und "sekundäre" Adressen bezeichnet. Die primäre Adresse ist normalerweise die erste Adresse, die Sie dem System hinzufügen. Das Entfernen der Primäradresse hat implizit den Vorgang, die gesamte Liste der Sekundäradressen ebenfalls zu leeren.
Sie können dieses Verhalten vermeiden, indem Sie sysctl
net.ipv4.conf.all.promote_secondaries
wie folgt auf 1 setzen:Dadurch wird das Verhalten dahingehend geändert, dass beim Entfernen einer primären IP-Adresse die verbleibenden Adressen nicht gelöscht werden und stattdessen eine neue IP-Adresse als primäre IP-Adresse heraufgestuft wird.
quelle
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.