Apri ed elimina linterfaccia del bridge che ' è attiva

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

  • Per eliminare tutte le interfacce bridge fai 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

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 e ip/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 con brctl " 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 comandi ip/ifconfig. Per rimuovere le interfacce reali o il bridge, è necessario prima disattivare linterfaccia con ip/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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *