Wie kann ich die IP-Adresse der Ethernet-Schnittstelle löschen, ohne die Schnittstelle hoch / runter zu schalten oder neu zu starten?

78

Was ist der Linux-Befehl, um die IP-Adresse einer Schnittstelle zu löschen, ohne sie herunterzufahren und / oder Netzwerkdienste neu zu starten? Scheint seltsam, wenn config die IP-Adresse ändern kann, aber keine Option zum Löschen hat, oder irre ich mich?

Jackhab
quelle
1
@ Andy: Ich denke du hast die Frage falsch verstanden. @jackhab möchte die Zuweisung einer Adresse von der Benutzeroberfläche aufheben, nicht auf 0.0.0.0- es ist nur so, wie es gemacht wird ifconfig.
Grawity
@ Grawity Cheers. Wenn Sie die Zuweisung einer Adresse aufheben, wird die Netzwerkkarte in jeder Hinsicht ausgeschaltet.
Andy
@ Andy: Nicht unbedingt. Man konnte immer noch eingehende Pakete beobachten. Eine Netzwerkkarte kann auch mehrere Adressen haben (obwohl dies in diesem Fall nicht zutrifft).
Grawity

Antworten:

134

Verwendung ipvon iproute2. (Sie müssen jedoch auch die Präfixlänge angeben.)

ip addr del 10.22.30.44/16 dev eth0

So entfernen Sie alle Adressen (falls Sie mehrere haben):

ip addr flush dev eth0
Grawity
quelle
Funktioniert, aber wenn ich eine permanente Änderung ohne Entwickler vornehmen möchte, erhalte ich die Fehlermeldung "eth0 is garbage" (lol). Ich denke, ich muss diese Datei manuell bearbeiten, kann mich aber noch nicht an den Namen erinnern
Housemd
24

So einfach wie ifconfig eth0 0.0.0.0. Sie hätten es in das Handbuch aufnehmen sollen.

Jackhab
quelle
9

So entfernen Sie alle Adressen von allen Schnittstellen, die ich für die Schleife verwendet habe:

for i in $(ls /sys/class/net/) ; do
    /usr/sbin/ip addr flush $i &
done
eri
quelle
1

Vielleicht suchen Sie nur nach einer neuen IP-Adresse vom [DHCP-fähigen] Router? In diesem Fall anrufen

dhclient eth0

CodyBugstein
quelle
DAS hat funktioniert, wohingegen das Zuweisen einer IP das Netzwerk nicht zum Laufen brachte. Danke.
Rich_F