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
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
ogip/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 medbrctl
" 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 medip/ifconfig
kommandoer. For at fjerne reelle grænseflader eller broen skal man først bringe grænsefladen ned medip/ifconfig
. Kort sagt styrerbrctl
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.
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