Remover IP com comando ip no linux

7

Se eu adicionar dois IPs assim:

ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2

e, em seguida, tento excluir um desses assim:

ip addr del 1.1.1.2/24 dev eth2

BOTH IPs serão excluídos e não sei como lidar com isso.

Alguém sabe como resolver isso?

    
por Hamed JML 12.03.2013 / 08:08

4 respostas

6

A exclusão de um endereço IP primário de uma interface excluirá, por padrão, todos os outros endereços na mesma sub-rede.

Esta é uma resposta a um bug do REHL 1136733 relatado pelo usuário que forneceu uma resposta sobre 12-mar-13 ...

You're adding multiple addresses in the same subnet, thus the second and subsequent ones become secondaries. This can be seen in the "ip addr show" output, note the keyword "secondary" next to those addresses.

By default, when deleting a primary address, kernel deletes also all respective secondaries.

If you want one of the secondaries to be promoted to be a new primary on primary deletion, set the net.ipv4.conf.eth9.promote_secondaries sysctl.

    
por 20.10.2014 / 15:56
3

Isso acontece porque você usa / 24 máscara de rede ao excluir. Ele é aplicado para endereçar sua entrada. Tente o seguinte:

ip addr del 1.1.1.2/32 dev eth2

A máscara / 32 define exatamente um host.

    
por 12.03.2013 / 08:11
2

Eu não tenho um eth2 para verificar isso, mas funciona corretamente no eth0 e não vejo razão para o eth2 ser mágico. Presumo que você esteja usando ip addr show dev eth2 , pois ifconfig eth2 não parece mostrar os endereços adicionais adicionados por ip.

Uma coisa que eu notei é que a ordem que você cria / apaga os endereços é importante. O segundo e os endereços subsequentes adicionados na mesma rede serão excluídos se o endereço principal for excluído. Considere ...

    inet 1.1.1.1/24 scope global eth0
    inet 1.1.2.3/24 scope global eth0
    inet 1.1.1.2/24 scope global secondary eth0
    inet 1.1.1.3/24 scope global secondary eth0

Se você excluir 1.1.1.1, os endereços 1.2 e 1.3 também serão excluídos. Se você excluir qualquer outro endereço, apenas esse endereço será excluído.

    
por 12.03.2013 / 13:20
0

Eu tentaria o seguinte:

ip addr del 1.1.1.2 dev eth2

    
por 12.03.2013 / 12:44