Jak usunąć mostek z adresem IP który został wywołany ręcznie i nie znajduje się w / etc / network / interfaces?
$ 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
Nie można go usunąć:
# brctl delbr br100 bridge br100 is still up; can"t delete it
Nie można go obniżyć za pomocą ifdown:
# ifdown br100 ifdown: interface br100 not configured
Komentarze
- Wypróbowano
ifconfig br100 down
?
Odpowiedź
Rozgryzłem to:
# ip link set br100 down # brctl delbr br100
Komentarze
Odpowiedź
$ sudo ip link delete br0 type bridge
to wszystko
Komentarze
- To znaczy, jeśli jesteś w systemie z
iproute2
jak np. Dystrybucje GNU / Linuksa. - Czy mostek typu " " jest tutaj naprawdę wymagany, wydaje się, że działa również bez ta
Odpowiedź
Aby to wyjaśnić na przyszłość.
ifup
i ifdown
to polecenia z niektórych odmian Linuksa. I są używane do kontrolowania ustawień sieciowych ustawionych w /etc/network/interfaces
dla systemów opartych na Debianie i /etc/sysconfig/network-scripts/ifcg*
w systemach opartych na Redhat (nie mogę komentować innych).
Ręczne tworzenie i usuwanie interfejsów odbywa się za pomocą ifconfig
(lub ip
, który jest nieco trudniejszy w użyciu) . Mostami można sterować za pomocą brctl
Zatem po usunięciu wszystkich interfejsów z mostu za pomocą brctl delif <bridg> <if>
można go przenieść do „stan wyłączony” z ifconfig br100 down
(lub ip link set br100 down
) i można go teraz usunąć za pomocą brctl delbr br100
Pamiętaj, że używanie network-manager
do zarządzania sieciami może spowodować zresetowanie ręcznie zmienionych interfejsów.
Komentarze
- Wydaje się, że istnieje podział pracy między
brctl
iip/ifconfig
(co ilustruje zaakceptowana odpowiedź powyżej pod adresem unix.stackexchange.com/a/31765/262897 ), ale także niektóre funkcje nakładają się (co ilustruje np. unix.stackexchange.com/a/324535/262897 ). Powiedzmy, że " Mostami można sterować za pomocąbrctl
" wydaje się być tylko częścią historia. Czy istnieje prosty sposób podsumowania relacji między dwoma / trzema? -
brctl
steruje urządzeniem mostkującym. Np. Wiąże ze sobą rzeczywiste urządzenia sieciowe, aby utworzyć urządzenie sieciowe-most. Utworzone wtedy urządzenie-most jest prawie jak każde inne urządzenie sieciowe i można nim sterować za pomocą poleceńip/ifconfig
. Aby usunąć rzeczywiste interfejsy lub most, należy najpierw wyłączyć interfejs za pomocąip/ifconfig
. Krótko mówiąc,brctl
steruje tworzeniem mostów i powiązaniami interfejsów.ip/ifconfig
sterowanie interfejsem sieciowym (urządzenie mostkowe jest również interfejsem sieciowym) stan i adresy.
Odpowiedź
W systemie macOS i prawdopodobnie w niektórych systemach BSD:
sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy
Komentarze
- Pracowałem dla mnie na FreeBSD!
Odpowiedź
A co powiesz na to?
docker network prune
Komentarze
- To nie zadziała, jeśli most nie został skonfigurowany przez Docker, prawda?
- Prawdopodobnie wygrał ' t, ale w moim przypadku rozwiązał problem.
- rozwiązałeś moje 3 dni desperacji
Odpowiedź
Najpierw musisz usunąć wszystkie interfejsy połączone z mostem za pomocą tego polecenia
ovs-vsctl del-port br-ex INTERFACE_NAME
Następnie możesz usunąć mostek
ovs-vsctl del-br br-ex
Odpowiedź
Również uruchom:
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 [...]
befor e używając polecenia w odpowiedzi robo, jeśli używasz systemu 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