Remover IP com comando ip no linux

2

Se eu adicionar dois IPs assim:

  1. ip addr add 1.1.1.1/24 dev eth2
  2. ip addr add 1.1.1.2/24 dev eth2

e, em seguida, tento excluir um desses assim:

  1. 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:06

2 respostas

1

Se você executar ip addr list dev eth2 após seus dois comandos add , verá algo como isto (ênfase minha):

2: eth2:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
     link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.1/24 brd 192.168.1.255 scope global eth2
     inet 1.1.1.1/24 scope global eth2
     inet 1.1.1.2/24 scope global secondary eth2

A parte importante a ser notada é que o Linux trata o segundo endereço como secundário ao primeiro, já que eles estão na mesma sub-rede lógica (/ 24). A exclusão do endereço secundário não tem impacto no primário, mas vice-versa.

Se você precisar adicionar / del endereços em 1.1.1.0/24, você deve primeiro adicionar um endereço que seja sempre válido (por exemplo, 1.1.1.99/24) e, em seguida, adicionar 1.1.1.1 e 1.1.1.2 como endereços secundários . Em seguida, você pode adicionar / excluir o endereço .1 e .2 à vontade.

Se isso não for possível, você também pode adicionar temporariamente 1.1.1.2 / 32 antes de excluir o 1.1.1.1. Isso manterá a conectividade de todas as conexões externas à sua rede . Dependendo da sua configuração de rede (ou seja, se o seu roteador suporta proxy ARP), você também poderá usar 1.1.1.2 / 0 temporariamente.

    
por 26.06.2013 / 13:20
1

Outra coisa provavelmente está fazendo as coisas pelas suas costas. O NetworkManager é um infrator conhecido.

Execute ip monitor ao executar seus comandos e veja se alguém está modificando a configuração.

    
por 12.03.2013 / 09:16