Ta ned og slett brogrensesnitt som ' s opp

Hvordan fjerner jeg en bro som har en IP-adresse som ble tatt opp manuelt og ikke er «t i / etc / nettverk / grensesnitt?

$ 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 få det ned med ifdown:

# ifdown br100 ifdown: interface br100 not configured 

Kommentarer

  • Prøvde ifconfig br100 down?

Svar

Fant ut det:

# ip link set br100 down # brctl delbr br100 

Kommentarer

  • For å slette alle brogrensesnitt gjø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 

at «alle

Kommentarer

  • Det er hvis du er på et system med iproute2 som f.eks. GNU / Linux-distribusjoner.
  • Er " type bro " virkelig påkrevd her, synes det fungerer også fint uten dette

Svar

For å avklare dette for fremtiden.

ifup og ifdown er kommandoer fra noen smaker av linux. Og brukes til å kontrollere nettverksinnstillinger satt i /etc/network/interfaces for debianbaserte systemer og /etc/sysconfig/network-scripts/ifcg* på Redhat-baserte systemer (jeg kan ikke kommentere andre).

Å lage og fjerne grensesnitt manuelt gjøres ved å bruke ifconfig (eller ip som er litt vanskeligere å bruke) . Broer kan kontrolleres med brctl

Så etter at alle grensesnitt er fjernet fra en bro med brctl delif <bridg> <if>, kan den flyttes til «nedtilstand» med ifconfig br100 down (eller ip link set br100 down) og kan nå fjernes med brctl delbr br100

Vær oppmerksom på at bruk av network-manager for å administrere nettverkene dine kan gjøre at manuelt endrede grensesnitt blir tilbakestilt.

Kommentarer

  • Det ser ut til å være en viss arbeidsdeling mellom brctl og ip/ifconfig (som illustrert av det aksepterte svaret over på unix.stackexchange.com/a/31765/262897 ), men også noe overlapp i funksjonalitet (som illustrert av f.eks. unix.stackexchange.com/a/324535/262897 ). Så å si " Broer kan styres med brctl " ser ut til å være bare en del av historien. Er det en enkel måte å oppsummere forholdet mellom de to / tre?
  • brctl styrer broenheten. Det binder for eksempel de virkelige nettverksenhetene sammen for å lage en bro-nettverksenhet. Den da opprettede broenheten er nesten som alle andre nettverksenheter, og du styrer den med ip/ifconfig kommandoer. For å fjerne ekte grensesnitt eller broen, må man først få ned grensesnittet med ip/ifconfig. Kort sagt, brctl styrer brooppretting og grensesnittbindinger. ip/ifconfig kontroll nettverksgrensesnitt (broenhet er også nettverksgrensesnitt) tilstand og adresser.

Svar

På macOS og muligens noen BSD-systemer:

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

Kommentarer

  • Jobbet for meg på FreeBSD!

Svar

Hva med det?

docker network prune 

Kommentarer

  • Det vil ikke fungere hvis broen ikke ble konfigurert av Docker, ikke sant?
  • Det vant sannsynligvis ' t, men i mitt tilfelle løste problemet.
  • du løste mine 3 dagers desperasjon

Svar

Først må du slette alle grensesnittene som er koblet til broen din ved hjelp av denne kommandoen

ovs-vsctl del-port br-ex INTERFACE_NAME 

Deretter kan du slette broen

ovs-vsctl del-br br-ex 

Svar

Også kjø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 bruker kommandoen i robos svar hvis du bruker GNU / Linux.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *