Ta ner och ta bort brogränssnitt som ' s upp

Hur tar jag bort en bro som har en IP-adress som togs upp manuellt och är inte ”t i / etc / nätverk / gränssnitt?

$ 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 

Kan inte ta bort det:

# brctl delbr br100 bridge br100 is still up; can"t delete it 

Kan inte ta ner det med ifdown:

# ifdown br100 ifdown: interface br100 not configured 

Kommentarer

  • Försökte ifconfig br100 down?

Svar

Tänkte på det:

# ip link set br100 down # brctl delbr br100 

Kommentarer

  • För att radera alla brygggränssnitt gör du 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

Svar

$ sudo ip link delete br0 type bridge 

att ”s alla

Kommentarer

  • Det är om du är i ett system med iproute2 som t.ex. GNU / Linux-distributioner.
  • Krävs verkligen " -typ " här, verkar det också fungera bra utan detta

Svar

För att klargöra detta för framtiden.

ifup och ifdown är kommandon från vissa smaker av linux. Och används för att kontrollera nätverksinställningar som ställts in /etc/network/interfaces för debianbaserade system och /etc/sysconfig/network-scripts/ifcg* på Redhat-baserade system (jag kan inte kommentera andra).

Att skapa och ta bort gränssnitt manuellt görs med ifconfig (eller ip vilket är lite svårare att använda) . Broar kan kontrolleras med brctl

Så efter att alla gränssnitt har tagits bort från en bro med brctl delif <bridg> <if> kan den flyttas till ”down state” med ifconfig br100 down (eller ip link set br100 down) och kan nu tas bort med brctl delbr br100

Observera att med network-manager för att hantera dina nätverk kan dina manuellt ändrade gränssnitt återställas.

Kommentarer

  • Det verkar finnas en viss arbetsfördelning mellan brctl och ip/ifconfig (som illustreras av det accepterade svaret ovan på unix.stackexchange.com/a/31765/262897 ) men också en del överlappningar i funktionalitet (som illustreras av t.ex. unix.stackexchange.com/a/324535/262897 ). Så att säga " Broar kan styras med brctl " verkar bara vara en del av berättelsen. Finns det ett enkelt sätt att sammanfatta förhållandet mellan de två / tre?
  • brctl styr brygganordningen. Det binder till exempel samman de riktiga nätverksenheterna för att skapa en bryggnätverksenhet. Den då skapade bridge-enheten är nästan som alla andra nätverksenheter och du styr den med ip/ifconfig -kommandon. För att ta bort riktiga gränssnitt eller bron måste man först ta ner gränssnittet med ip/ifconfig. Kort sagt, brctl styr broskapande och gränssnittsbindningar. ip/ifconfig kontrollnätverksgränssnitt (bridge-enhet är också nätverksgränssnitt) tillstånd och adresser.

Svar

På macOS och eventuellt vissa BSD-system:

sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy 

Kommentarer

  • Fungerade för mig på FreeBSD!

Svar

Vad sägs om?

docker network prune 

Kommentarer

  • Det fungerar inte om bron inte konfigurerades av Docker, eller hur?
  • Det vann förmodligen ' t men i mitt fall löste problemet.
  • du löste mina tre dagars desperation

Svar

Först måste du radera alla gränssnitt som är länkade till din bro med detta kommando

ovs-vsctl del-port br-ex INTERFACE_NAME 

Sedan kan du radera bron

ovs-vsctl del-br br-ex 

Svara

Också kör:

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 [...] 

före e använder kommandot i robos svar om du använder GNU / Linux.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *