Come faccio a rimuovere un bridge che ha un indirizzo IP che è stato attivato manualmente e non si trova in / etc / network / interfaces?
$ ifconfig br100 br100 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:172.16.0.5 Bcast:172.16.0.255 Mask:255.255.255.0
Impossibile eliminarlo:
# brctl delbr br100 bridge br100 is still up; can"t delete it
Impossibile rimuoverlo con ifdown:
# ifdown br100 ifdown: interface br100 not configured
Commenti
- Hai provato
ifconfig br100 down
?
Risposta
Capito:
# ip link set br100 down # brctl delbr br100
Commenti
Risposta
$ sudo ip link delete br0 type bridge
questo è tutto
Commenti
- Cioè se sei su un sistema con
iproute2
come ad es. Distribuzioni GNU / Linux. - Il " type bridge " è davvero richiesto qui, sembra che funzioni bene anche senza questo
Risposta
Per chiarire questo aspetto per il futuro.
ifup
e ifdown
sono comandi di alcune versioni di Linux. E sono usati per controllare le impostazioni di rete impostate in /etc/network/interfaces
per sistemi basati su Debian e /etc/sysconfig/network-scripts/ifcg*
su sistemi basati su Redhat (non posso commentare gli altri).
La creazione e la rimozione manuale delle interfacce viene eseguita utilizzando ifconfig
(o ip
che è un po più complicato da usare) . I bridge possono essere controllati con brctl
Quindi, dopo aver rimosso tutte le interfacce da un bridge con brctl delif <bridg> <if>
, è possibile spostarlo in “down state” con ifconfig br100 down
(o ip link set br100 down
) e ora può essere rimosso con brctl delbr br100
Tieni presente che lutilizzo di network-manager
per gestire le tue reti potrebbe causare il ripristino delle interfacce modificate manualmente.
Commenti
- Sembra esserci una divisione del lavoro tra
brctl
eip/ifconfig
(come illustrato dalla risposta accettata sopra a unix.stackexchange.com/a/31765/262897 ) ma anche alcune funzionalità sovrapposte (come illustrato ad esempio da unix.stackexchange.com/a/324535/262897 ). Quindi, dire che " i bridge possono essere controllati conbrctl
" sembra essere solo una parte di la storia. Cè un modo semplice per riassumere la relazione tra i due / tre? -
brctl
controlla il dispositivo bridge. Ad esempio, lega insieme i dispositivi di rete reali per creare un dispositivo di rete bridge. Il dispositivo bridge creato in quel momento è quasi come qualsiasi altro dispositivo di rete e lo controlli con i comandiip/ifconfig
. Per rimuovere le interfacce reali o il bridge, è necessario prima disattivare linterfaccia conip/ifconfig
. In breve,brctl
controlla la creazione del bridge e i collegamenti dellinterfaccia.ip/ifconfig
controlla lo stato e gli indirizzi dellinterfaccia di rete (il dispositivo bridge è anche linterfaccia di rete).
Risposta
Su macOS e forse alcuni sistemi BSD:
sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy
Commenti
- Ha funzionato per me su FreeBSD!
Risposta
Che ne dici?
docker network prune
Commenti
- Non funzionerà se il bridge non è stato configurato da Docker, vero?
- Probabilmente ha vinto ' t ma nel mio caso ha risolto il problema.
- hai risolto i miei 3 giorni di disperazione
Risposta
Per prima cosa devi eliminare tutte le interfacce collegate al tuo bridge utilizzando questo comando
ovs-vsctl del-port br-ex INTERFACE_NAME
Quindi puoi eliminare il bridge
ovs-vsctl del-br br-ex
Rispondi
Inoltre esegui:
virsh net-list --all sudo virsh net-list --all sudo virsh net-destroy default sudo virsh net-undefine default [...] sudo nmcli connection show sudo nmcli connection delete br0 [...]
befor e usando il comando nella risposta di robo se stai usando GNU / Linux.
sudo ip link show | grep br- | awk -F ':' '{print $2}' | tr -d ' ' | while read b; do sudo ip link set "$b" down; sudo brctl delbr "$b"; done