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
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
ogip/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 medbrctl
" 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 medip/ifconfig
kommandoer. For å fjerne ekte grensesnitt eller broen, må man først få ned grensesnittet medip/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.
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