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
iproute2zoals 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
brctlenip/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? -
brctlbestuurt 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,brctlbeheert het maken van bruggen en interface-bindingen.ip/ifconfigcontrole 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?