Hur tar jag bort en bro som har en IP-adress som togs upp manuellt och är inte ”t i / etc / nätverk / gränssnitt?
$ 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 inte ta bort det:
# brctl delbr br100 bridge br100 is still up; can"t delete it
Kan inte ta ner det med ifdown:
# ifdown br100 ifdown: interface br100 not configured
Kommentarer
- Försökte
ifconfig br100 down
?
Svar
Tänkte på det:
# ip link set br100 down # brctl delbr br100
Kommentarer
Svar
$ sudo ip link delete br0 type bridge
att ”s alla
Kommentarer
- Det är om du är i ett system med
iproute2
som t.ex. GNU / Linux-distributioner. - Krävs verkligen " -typ " här, verkar det också fungera bra utan detta
Svar
För att klargöra detta för framtiden.
ifup
och ifdown
är kommandon från vissa smaker av linux. Och används för att kontrollera nätverksinställningar som ställts in /etc/network/interfaces
för debianbaserade system och /etc/sysconfig/network-scripts/ifcg*
på Redhat-baserade system (jag kan inte kommentera andra).
Att skapa och ta bort gränssnitt manuellt görs med ifconfig
(eller ip
vilket är lite svårare att använda) . Broar kan kontrolleras med brctl
Så efter att alla gränssnitt har tagits bort från en bro med brctl delif <bridg> <if>
kan den flyttas till ”down state” med ifconfig br100 down
(eller ip link set br100 down
) och kan nu tas bort med brctl delbr br100
Observera att med network-manager
för att hantera dina nätverk kan dina manuellt ändrade gränssnitt återställas.
Kommentarer
- Det verkar finnas en viss arbetsfördelning mellan
brctl
ochip/ifconfig
(som illustreras av det accepterade svaret ovan på unix.stackexchange.com/a/31765/262897 ) men också en del överlappningar i funktionalitet (som illustreras av t.ex. unix.stackexchange.com/a/324535/262897 ). Så att säga " Broar kan styras medbrctl
" verkar bara vara en del av berättelsen. Finns det ett enkelt sätt att sammanfatta förhållandet mellan de två / tre? -
brctl
styr brygganordningen. Det binder till exempel samman de riktiga nätverksenheterna för att skapa en bryggnätverksenhet. Den då skapade bridge-enheten är nästan som alla andra nätverksenheter och du styr den medip/ifconfig
-kommandon. För att ta bort riktiga gränssnitt eller bron måste man först ta ner gränssnittet medip/ifconfig
. Kort sagt,brctl
styr broskapande och gränssnittsbindningar.ip/ifconfig
kontrollnätverksgränssnitt (bridge-enhet är också nätverksgränssnitt) tillstånd och adresser.
Svar
På macOS och eventuellt vissa BSD-system:
sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy
Kommentarer
- Fungerade för mig på FreeBSD!
Svar
Vad sägs om?
docker network prune
Kommentarer
- Det fungerar inte om bron inte konfigurerades av Docker, eller hur?
- Det vann förmodligen ' t men i mitt fall löste problemet.
- du löste mina tre dagars desperation
Svar
Först måste du radera alla gränssnitt som är länkade till din bro med detta kommando
ovs-vsctl del-port br-ex INTERFACE_NAME
Sedan kan du radera bron
ovs-vsctl del-br br-ex
Svara
Också 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öre e använder kommandot i robos svar om du använder 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