Wenn ich zwei IPs wie diese hinzufüge:
ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2
und dann versuche ich eines davon zu löschen:
ip addr del 1.1.1.2/24 dev eth2
BEIDE IPs werden gelöscht und ich weiß nicht, wie ich damit umgehen soll.
Weiß jemand, wie man es löst?
networking
bash
ip
ubuntu-12.04
Hamed JML
quelle
quelle
ip addr show
Ausgabe hinzufügenAntworten:
Durch das Löschen einer primären IP-Adresse von einer Schnittstelle werden standardmäßig alle anderen Adressen im selben Subnetz gelöscht.
Dies ist eine Antwort auf einen REHL-Fehler 1136733 , der von dem Benutzer gemeldet wurde, der am 12. März 13 eine Antwort gegeben hat ...
quelle
sudo systemctl net.ipv4.conf.eth0.promote_secondaries
Unbekannte Operation net.ipv4.conf.eth0.promote_secondaries.Dies geschieht, weil Sie beim Löschen die Netzwerkmaske / 24 verwenden. Es wird angewendet, um Ihre Eingabe zu adressieren. Versuche Folgendes:
ip addr del 1.1.1.2/32 dev eth2
Die / 32-Maske definiert genau einen Host.
quelle
ip addr del 1.1.1.2 dev eth2
Ich habe kein eth2, um dies zu überprüfen, aber es funktioniert korrekt auf eth0 und ich sehe keinen Grund, warum eth2 magisch sein sollte. Ich nehme an, Sie verwenden
ip addr show dev eth2
asifconfig eth2
, um die zusätzlichen Adressen, die von ip hinzugefügt wurden, nicht anzuzeigen.Eine Sache, die mir aufgefallen ist, ist, dass die Reihenfolge, in der Sie die Adressen erstellen / löschen, wichtig ist. Die zweite und nachfolgende Adresse, die innerhalb desselben Netzwerks hinzugefügt wurden, werden gelöscht, wenn die primäre Adresse gelöscht wird. Erwägen ...
Wenn Sie 1.1.1.1 löschen, werden auch die Adressen 1.2 und 1.3 gelöscht. Wenn Sie eine andere Adresse löschen, wird nur diese Adresse gelöscht.
quelle
Ich würde folgendes versuchen:
quelle
Die Antwort von @bvs zeigte genau in die richtige Richtung des Problems und löste es für mich. Hier finden Sie einige Details zu den genauen Befehlen. Wie für viele ist die Standardschnittstelle
eth0
, ich nehme das in den folgenden Befehlen, dieeth2
für die ursprüngliche Frage durch ersetzt werden müssen.Für eine temporäre Lösung (bis zum Neustart) verwenden
sudo sysctl -w net.ipv4.conf.eth0.promote_secondaries=1
Für eine dauerhafte Lösung, die nach einem Neustart bestehen bleibt, erstellen Sie eine Datei
/etc/sysctl.d/ip-promote.conf
(oder einen anderen Dateinamen, der mit endet.conf
) mit folgendem Inhalt:quelle