Äquivalent für ifconfig dev 0.0.0.0

Äquivalent für ifconfig dev 0.0.0.0

Wenn ich unter Linux eine temporäre Brücke mit Schnittstelle erstellen muss, würde ich Folgendes verwenden:

brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig br0 192.168.10.100 netmask 255.255.255.0
ifconfig br0 up

Ich habe meinen Prozess aktualisiert, um dieIP-AdresseBefehl, Ich finde jedoch nicht das Äquivalent zum Entfernen des IP-Stacks (ifconfig eth0 0.0.0.0) über den ipBefehl

Ich habe Folgendes versucht:

ip addr add 0.0.0.0 dev eth0
ip addr add 0.0.0.0/24 dev eth0

aber es funktioniert nicht, das ipauf diesem Gerät Vorhandene zu entfernen.

weiß jemand zufällig, ob das mit dem ipBefehl möglich ist

Antwort1

Unter Linux ifconfigist der alte Befehl und seine alte Linux-Kernel-API beschränkt aufeinsIPv4-Adresse pro Schnittstelle (und daher werden Schnittstellenaliase verwendet, die eigentlich zusätzliche Adressen und keine Schnittstellen sind, um diese Einschränkung zu umgehen). Dies erklärt, warum das EntfernenDieIPv4-Adresse, die Methode war,Satzes auf (nicht wirklich hinzufügen) 0.0.0.0.

Mitiproute2Werkzeuge, wenn Sie entfernen möchtenbeliebigAdresse von einer Schnittstelle (immer eine gute Idee für einen Bridge-Port), ohne sich darum zu kümmern, welche Adresse(n) vorhanden sind. Sie können verwenden ip address flush, was ein Befehl zum Entfernen großer Mengen ist:

ip address flush- Protokolladressen leeren

Dieser Befehl löscht die nach bestimmten Kriterien ausgewählten Protokolladressen.

[...]

Warnung: Dieser Befehl und andere Flush-Befehle sind gnadenlos. Sie werden alle Adressen grausam löschen.

[...]

Sie können also letztendlich Folgendes verwenden:

ip address flush dev eth0

(Sie könnten hinzufügen -4, die Wirkung auf IPv4 zu beschränken).


Es gibt noch weitere Einsatzmöglichkeiten. Zum Beispiel dieser Befehl:

  ip address flush to 10.1.0.0/16

würde von jeder Schnittstelle jede Adresse entfernen, die dem Block 10.1.0.0/16 entsprichtunabhängig von der Netzmaske.

# ip -s -s address flush to 10.1.0.0/16
2: lxcbr0    inet 10.1.3.1/24 brd 10.1.3.255 scope global lxcbr0
       valid_lft forever preferred_lft forever
158: eth0    inet 10.1.1.1/8 scope global eth0
       valid_lft forever preferred_lft forever

*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***

Antwort2

Das geht nichtlöscheneine IP-Adresse mit dem addBefehl!

Wenn Sie eine IP-Adresse aus einer Schnittstelle löschen möchten, können Sie deldies tun.

ip addr del 203.0.113.187 dev eth0

verwandte Informationen