Wyłącz i usuń interfejs mostka, który ' działa

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

  • Aby usunąć wszystkie interfejsy mostka, wykonaj 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

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 i ip/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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *