Desative e exclua a interface de ponte que ' está ativada

Como faço para remover uma ponte que tem um endereço IP que foi criado manualmente e não está em / 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 

Não é possível excluí-lo:

# brctl delbr br100 bridge br100 is still up; can"t delete it 

Não é possível derrubá-lo com ifdown:

# ifdown br100 ifdown: interface br100 not configured 

Comentários

  • Tentou ifconfig br100 down?

Resposta

Descobri:

# ip link set br100 down # brctl delbr br100 

Comentários

  • Para excluir todas as interfaces de ponte, faça 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

Resposta

$ sudo ip link delete br0 type bridge 

isso “é tudo

Comentários

  • Isso se você estiver em um sistema com iproute2 como, por exemplo, Distribuições GNU / Linux.
  • O " tipo de ponte " é realmente necessário aqui, parece que também funciona bem sem isso

Resposta

Para esclarecer isso para o futuro.

ifup e ifdown são comandos de alguns tipos de Linux. E são usados para controlar as configurações de rede definidas em /etc/network/interfaces para sistemas baseados em debian e /etc/sysconfig/network-scripts/ifcg* em sistemas baseados em Redhat (não posso comentar sobre outros).

Criar e remover interfaces manualmente é feito usando ifconfig (ou ip que é um pouco mais complicado de usar) . As pontes podem ser controladas com brctl

Então, depois de remover todas as interfaces de uma ponte com brctl delif <bridg> <if>, ela pode ser movida para “estado inativo” com ifconfig br100 down (ou ip link set br100 down) e agora pode ser removido com brctl delbr br100

Observe que usar network-manager para gerenciar suas redes pode fazer com que as interfaces alteradas manualmente sejam reiniciadas.

Comentários

  • Parece haver alguma divisão de trabalho entre brctl e ip/ifconfig (conforme ilustrado pela resposta aceita acima em unix.stackexchange.com/a/31765/262897 ), mas também alguma sobreposição na funcionalidade (conforme ilustrado por exemplo: unix.stackexchange.com/a/324535/262897 ). Então, dizer que " Pontes podem ser controladas com brctl " parece ser apenas parte de a história. Existe uma maneira simples de resumir a relação entre os dois / três?
  • brctl controla o dispositivo de ponte. Por exemplo, ele une os dispositivos de rede reais para criar um dispositivo de rede de ponte. O dispositivo de ponte então criado é quase como qualquer outro dispositivo de rede e você o controla com comandos ip/ifconfig. Para remover interfaces reais ou a ponte, é necessário primeiro desativar a interface com ip/ifconfig. Resumindo, brctl controla a criação de pontes e ligações de interface. ip/ifconfig estado e endereços da interface de rede de controle (dispositivo de ponte também é interface de rede).

Resposta

No macOS e possivelmente em alguns sistemas BSD:

sudo ifconfig [bridge-name] down sudo ifconfig [bridge-name] destroy 

Comentários

  • Funcionou para mim no FreeBSD!

Resposta

Que tal?

docker network prune 

Comentários

  • Isso não funcionará se a ponte não for configurada pelo Docker, não é?
  • Provavelmente ganhou ' t, mas no meu caso resolveu o problema.
  • você resolveu meus 3 dias de desespero

Resposta

Primeiro você precisa excluir todas as interfaces vinculadas à sua ponte usando este comando

ovs-vsctl del-port br-ex INTERFACE_NAME 

Então você pode excluir a ponte

ovs-vsctl del-br br-ex 

Resposta

Também executar:

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 [...] 

antes e usando o comando na resposta do robo se você estiver usando GNU / Linux.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *