Hent ned og slet brogrænseflade, der ' s op

Hvordan fjerner jeg en bro, der har en IP-adresse der blev opdraget manuelt og ikke “t i / etc / netværk / grænseflader?

$ 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 ikke slette det:

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

Kan ikke bringe det ned med ifdown:

# ifdown br100 ifdown: interface br100 not configured 

Kommentarer

  • Forsøgt ifconfig br100 down?

Svar

Regnede det ud:

# ip link set br100 down # brctl delbr br100 

Kommentarer

  • For at slette alle brogrænseflader skal 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 

at “s alle

Kommentarer

  • Det er, hvis du er på et system med iproute2 som f.eks. GNU / Linux-distributioner.
  • Er " type bro " virkelig påkrævet her, ser det ud til, at det også fungerer fint uden dette

Svar

For at afklare dette for fremtiden.

ifup og ifdown er kommandoer fra nogle varianter af linux. Og bruges til at kontrollere netværksindstillinger, der er indstillet i /etc/network/interfaces til debianbaserede systemer og /etc/sysconfig/network-scripts/ifcg* på Redhat-baserede systemer (jeg kan ikke kommentere andre).

Oprettelse og fjernelse af grænseflader manuelt sker ved hjælp af ifconfig (eller ip hvilket er lidt mere besværligt at bruge) . Broer kan styres med brctl

Så efter at alle grænseflader er fjernet fra en bro med brctl delif <bridg> <if>, kan den flyttes til “down state” med ifconfig br100 down (eller ip link set br100 down) og kan nu fjernes med brctl delbr br100

Vær opmærksom på, at brug af network-manager til at administrere dine netværk kan få dine manuelt ændrede grænseflader til at nulstilles.

Kommentarer

  • Der ser ud til at være en vis arbejdsdeling mellem brctl og ip/ifconfig (som illustreret med det accepterede svar ovenfor ved unix.stackexchange.com/a/31765/262897 ), men også en vis overlapning i funktionalitet (som illustreret af f.eks. unix.stackexchange.com/a/324535/262897 ). Så at sige " Broer kan styres med brctl " synes kun at være en del af historien. Er der en enkel måde at opsummere forholdet mellem de to / tre på?
  • brctl styrer broenheden. F.eks. Binder det de rigtige netværksenheder sammen for at oprette en bridge-netværksenhed. Den derefter oprettede bridge-enhed er næsten som enhver anden netværksenhed, og du styrer den med ip/ifconfig kommandoer. For at fjerne reelle grænseflader eller broen skal man først bringe grænsefladen ned med ip/ifconfig. Kort sagt styrer brctl brooprettelse og interface-bindinger. ip/ifconfig kontrolnetværksinterface (broenhed er også netværksinterface) tilstand og adresser.

Svar

På macOS og muligvis nogle BSD-systemer:

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

Kommentarer

  • Arbejdet for mig på FreeBSD!

Svar

Hvad med?

docker network prune 

Kommentarer

  • Det fungerer ikke, hvis broen ikke blev konfigureret af Docker, vil det ikke?
  • Det vandt sandsynligvis ' t, men i mit tilfælde løste problemet.
  • du løste mine 3 dages desperation

Svar

Først skal du slette alle grænseflader, der er knyttet til din bro ved hjælp af denne kommando

ovs-vsctl del-port br-ex INTERFACE_NAME 

Derefter kan du slette broen

ovs-vsctl del-br br-ex 

Svar

Også 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ør e bruger kommandoen i robos svar, hvis du bruger GNU / Linux.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *