equivalente para ifconfig dev 0.0.0.0

equivalente para ifconfig dev 0.0.0.0

Quando preciso criar uma ponte temporária com interface no Linux eu usaria o seguinte:

brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig br0 192.168.10.100 netmask 255.255.255.0
ifconfig br0 up

Tenho atualizado meu processo para usar oIPcomando, porém, não encontro o equivalente para remover a pilha IP (ifconfig eth0 0.0.0.0) através do ipcomando

Eu tentei o seguinte:

ip addr add 0.0.0.0 dev eth0
ip addr add 0.0.0.0/24 dev eth0

mas não funciona para remover o existente ipnesse dispositivo.

alguém saberia se isso é possível com o ipcomando

Responder1

No Linux, o ifconfigcomando antigo e sua antiga API do kernel Linux estão limitados aumEndereço IPv4 por interface (e, portanto, aliases de interface, que são endereços adicionais em vez de interfaces, são usados ​​para contornar essa limitação). Isso explica por que removeroendereço IPv4, o método eradefinirpara (na verdade não adicionar) 0.0.0.0.

Comiproute2ferramentas, se você deseja removerqualquerendereço de uma interface (sempre uma boa ideia para uma porta de ponte) sem se importar com quais endereços estão lá, você pode usar ip address flush, que é um comando de remoção em massa:

ip address flush- liberar endereços de protocolo

Este comando libera os endereços de protocolo selecionados por alguns critérios.

[...]

Aviso: este comando e outros comandos de liberação são implacáveis. Eles limparão cruelmente todos os endereços.

[...]

Então no final você pode usar:

ip address flush dev eth0

(você pode adicionar -4para limitar o efeito ao IPv4).


Existem outros usos. Por exemplo este comando:

  ip address flush to 10.1.0.0/16

removeria de qualquer interface qualquer endereço correspondente ao bloco 10.1.0.0/16qualquer que seja sua máscara de rede.

# ip -s -s address flush to 10.1.0.0/16
2: lxcbr0    inet 10.1.3.1/24 brd 10.1.3.255 scope global lxcbr0
       valid_lft forever preferred_lft forever
158: eth0    inet 10.1.1.1/8 scope global eth0
       valid_lft forever preferred_lft forever

*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***

Responder2

Você não podeexcluirum endereço IP com o addcomando!

Se você deseja excluir um endereço IP de uma interface, faça delisso.

ip addr del 203.0.113.187 dev eth0

informação relacionada