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
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
eip/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 combrctl
" 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 comandosip/ifconfig
. Para remover interfaces reais ou a ponte, é necessário primeiro desativar a interface comip/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.
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