Alterar endereço IP do host remoto sem perder o controle (Linux)


10

Como posso alterar um host remoto primário endereço IP sem ficar desconectado em tudo (sem estar em um estado "sem endereço IP").

O assunto é pouco discutido na Internet (de acordo com minha pesquisa). O melhor recurso que encontrei é um pouco complicado.

EXEMPLO: altere 10.0.0.11/24 para 10.0.0.15/24

1. ssh root@10.0.0.11
2. ip addr add 10.0.0.15/24 dev eth0 
3. logout

4. ssh root@10.0.0.15
5. ip addr del 10.0.0.11/24 dev eth0 

Problema: O último comando remove os dois endereços IP e a conexão é perdida porque 10.0.0.11 é primário e remove seus endereços secundários (aos quais 10.0.0.15 pertence) quando excluídos.

Eu sei que poderia "enganar", acrescentando 10.0.0.11/ 25 (em vez de 24 ). No entanto, acho que é teoricamente possível fazer isso corretamente.

O que você acha?


não é trapaça se você usar a máscara / 32 ... #
2213 zb '

mas não iria funcionar porque a / 32 não pode se comunicar com qualquer coisa, mas em si ...
Totor

ok, mas / 25 também não funcionará.
zb

Respostas:


11

Você precisa definir a promote_secondariesopção na interface ou em todas as interfaces:

echo 1 > /proc/sys/net/ipv4/conf/eth0/promote_secondaries

ou

sysctl net.ipv4.conf.eth0.promote_secondaries=1

Altere eth0para allque ele funcione em todas as interfaces.

Esta opção está presente desde 2.6.12 .

Eu testei isso com uma interface fictícia e funcionou lá.


Exatamente o que eu precisava, obrigado! Veja o commit original .
Totor

1
Observe que esta opção está disponível desde 2.6.12 , portanto, antes de 2.6.16.
Totor 27/08
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.