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?

jackhab
fonte
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
gravidade
fonte
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.

jackhab
fonte
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
eri
fonte
1

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

dhclient eth0

CodyBugstein
fonte
Isso funcionou, enquanto atribuir um IP de alguma forma não fez a rede funcionar. Obrigado.
Rich_F 25/09