Jak mogę wyczyścić adres IP interfejsu Ethernet bez przełączania interfejsu w górę / w dół lub restartowania go

78

Co to jest polecenie systemu Linux, aby wyczyścić adres IP interfejsu bez obniżania go i / lub restartowania usług sieciowych. Wydaje się dziwne, jeśli ifconfig jest w stanie zmienić adres IP, ale nie ma opcji, aby go wyczyścić, czy się mylę?

jackhab
źródło
1
@Andy: Myślę, że źle zrozumiałeś pytanie. @jackhab chce cofnąć przypisanie adresu do interfejsu, a nie ustawić go 0.0.0.0- to po prostu sposób ifconfig.
grawity
@grawity Cheers. Cofnięcie przypisania adresu powoduje wyłączenie karty sieciowej do wszystkich celów i celów?
Andy
@Andy: Niekoniecznie. Nadal można było oglądać przychodzące pakiety. Ponadto karta sieciowa może mieć wiele adresów (choć w tym przypadku nie ma zastosowania).
grawity

Odpowiedzi:

134

Użyj ipz iproute2. (Musisz jednak podać także długość prefiksu).

ip addr del 10.22.30.44/16 dev eth0

Aby usunąć wszystkie adresy (jeśli masz ich wiele):

ip addr flush dev eth0
grawitacja
źródło
Działa, ale gdy chcę trwale zmienić programistę, pojawia się błąd z informacją, że „eth0 to śmieci” (lol). Chyba muszę ręcznie edytować ten plik, po prostu nie pamiętam nazwy teraz
HouseMD
24

Tak proste jak ifconfig eth0 0.0.0.0. Powinni byli umieścić to w instrukcji.

jackhab
źródło
9

Aby usunąć wszystkie reklamy ze wszystkich interfejsów używanych w pętli:

for i in $(ls /sys/class/net/) ; do
    /usr/sbin/ip addr flush $i &
done
eri
źródło
1

Być może po prostu szukasz nowego adresu IP z routera [obsługującego DHCP]? W takim przypadku zadzwoń

dhclient eth0

CodyBugstein
źródło
TO działało, podczas gdy przypisanie adresu IP w jakiś sposób nie spowodowało działania sieci. Dziękuję Ci.
Rich_F