Hoe verwijder ik een bridge met een IP-adres dat handmatig is geopend en niet in / etc / network / interfaces zit?
$ 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 het niet verwijderen:
# brctl delbr br100 bridge br100 is still up; can"t delete it
Kan het niet naar beneden halen met ifdown:
# ifdown br100 ifdown: interface br100 not configured
Reacties
Antwoord
Vond het uit:
# ip link set br100 down # brctl delbr br100
Reacties
- Om alle bridge-interfaces te verwijderen, doe
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
Antwoord
$ sudo ip link delete br0 type bridge
dat is alles
Reacties
- Dat is als je op een systeem bent met
iproute2
zoals bijv. GNU / Linux-distributies. - Is de " type bridge " hier echt nodig, het lijkt erop dat het ook prima werkt zonder dit
Antwoord
Om dit voor de toekomst te verduidelijken.
ifup
en ifdown
zijn commandos van sommige Linux-versies. En worden gebruikt om netwerkinstellingen te beheren die zijn ingesteld in /etc/network/interfaces
voor op debian gebaseerde systemen en /etc/sysconfig/network-scripts/ifcg*
op op Redhat gebaseerde systemen (ik kan geen commentaar geven op andere).
Het handmatig aanmaken en verwijderen van interfaces gebeurt met ifconfig
(of ip
wat wat lastiger te gebruiken is) . Bridges kunnen worden bestuurd met brctl
Dus na het verwijderen van alle interfaces van een bridge met brctl delif <bridg> <if>
kan het worden verplaatst naar “down state” met ifconfig br100 down
(of ip link set br100 down
) en kan nu worden verwijderd met brctl delbr br100
Houd er rekening mee dat het gebruik van network-manager
om uw netwerken te beheren, ertoe kan leiden dat uw handmatig gewijzigde interfaces opnieuw worden ingesteld.
Opmerkingen
- Er lijkt een taakverdeling te zijn tussen
brctl
enip/ifconfig
(zoals geïllustreerd door het geaccepteerde antwoord hierboven op unix.stackexchange.com/a/31765/262897 ) maar ook enige overlap in functionaliteit (zoals geïllustreerd door bijvoorbeeld unix.stackexchange.com/a/324535/262897 ). Dus om te zeggen: " Bridges kunnen worden bestuurd metbrctl
" lijkt slechts een deel van het verhaal. Is er een eenvoudige manier om de relatie tussen de twee / drie samen te vatten? -
brctl
bestuurt het bridge-apparaat. Het bindt bijvoorbeeld de echte netwerkapparaten samen om een bridge-netwerkapparaat te creëren. Het toen gemaakte bridge-apparaat is bijna net als elk ander netwerkapparaat en u bestuurt het metip/ifconfig
-opdrachten. Om real-interfaces of de bridge te verwijderen, moet je eerst de interface naar beneden halen metip/ifconfig
. Kortom,brctl
beheert het maken van bruggen en interface-bindingen.ip/ifconfig
controle netwerkinterface (bridge-apparaat is ook netwerkinterface) staat en adressen.
Antwoord
Op macOS en mogelijk enkele BSD-systemen:
sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy
Reacties
- Heeft voor mij gewerkt op FreeBSD!
Antwoord
Hoe zit het?
docker network prune
Reacties
- Dat zal niet werken als de bridge niet door Docker is geconfigureerd, toch?
- Het heeft waarschijnlijk ' t gewonnen, maar in mijn geval is het probleem opgelost.
- jij hebt mijn 3 dagen wanhoop opgelost
Answer
Eerst moet je alle interfaces verwijderen die aan je bridge zijn gekoppeld met dit commando
ovs-vsctl del-port br-ex INTERFACE_NAME
Vervolgens kun je de brug verwijderen
ovs-vsctl del-br br-ex
Antwoord
Ook run:
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 [...]
voor e het gebruik van het commando in robos antwoord als je GNU / Linux gebruikt.
ifconfig br100 down
?