Como posso limpar o endereço IP da interface Ethernet sem ativar / desativar a interface ou reiniciá-la


78

Qual é o comando do Linux para limpar o endereço IP de uma interface sem desativá-lo e / ou reiniciar os serviços de rede. Parece estranho se o config for capaz de alterar o endereço IP, mas não tem opção para limpá-lo, ou estou errado?


11
@ Andy: Eu acho que você não entendeu a pergunta. O @jackhab quer cancelar a atribuição de um endereço da interface, não configurá-lo para 0.0.0.0- é assim que é feito ifconfig.
grawity

Felicidades @grawity. A não atribuição de um endereço está desativando a NIC para todos os efeitos?
Andy

@ Andy: Não necessariamente. Ainda era possível assistir pacotes recebidos. Além disso, uma NIC pode ter vários endereços (embora não se aplique neste caso).
grawity

Respostas:


134

Use ipdo iproute2. (Você também precisa especificar o tamanho do prefixo.)

ip addr del 10.22.30.44/16 dev eth0

Para remover todos os endereços (caso você tenha vários):

ip addr flush dev eth0

Funciona, mas quando eu quero uma alteração permanente que não seja dev, recebo um erro dizendo "eth0 é lixo" (risos). Eu acho que preciso de editar manualmente o arquivo, só não me lembro o nome agora
Housemd

24

Tão simples quanto ifconfig eth0 0.0.0.0. Eles deveriam ter colocado no manual.


9

Para remover todos os endereços de todas as interfaces que usei para loop:

for i in $(ls /sys/class/net/) ; do
    /usr/sbin/ip addr flush $i &
done

1

Talvez você esteja apenas querendo obter um novo IP do roteador [habilitado para DHCP]? Nesse caso, ligue

dhclient eth0


Isso funcionou, enquanto atribuir um IP de alguma forma não fez a rede funcionar. Obrigado.
Rich_F 25/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.