![Äquivalent für ifconfig dev 0.0.0.0](https://rvso.com/image/760646/%C3%84quivalent%20f%C3%BCr%20ifconfig%20dev%200.0.0.0.png)
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 ip
Befehl
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 ip
auf diesem Gerät Vorhandene zu entfernen.
weiß jemand zufällig, ob das mit dem ip
Befehl möglich ist
Antwort1
Unter Linux ifconfig
ist 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 leerenDieser 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 add
Befehl!
Wenn Sie eine IP-Adresse aus einer Schnittstelle löschen möchten, können Sie del
dies tun.
ip addr del 203.0.113.187 dev eth0