Cambiar la dirección IP del host remoto sin perder el control (Linux)

10

¿Cómo puedo cambiar un host remoto primaria dirección IP sin ser desconectado en absoluto (sin estar en un estado de "no dir IP").

El tema es poco discutido en Internet (según mi investigación). El mejor recurso que encontré es un poco complicado.

EJEMPLO: cambie 10.0.0.11/24 a 10.0.0.15/24

1. ssh [email protected]
2. ip addr add 10.0.0.15/24 dev eth0 
3. logout

4. ssh [email protected]
5. ip addr del 10.0.0.11/24 dev eth0 

Problema: el último comando elimina ambas direcciones IP y la conexión se pierde porque 10.0.0.11 es primaria, y elimina sus direcciones secundarias (a las que pertenece 10.0.0.15) cuando se elimina.

Sé que podría "hacer trampa" agregando 10.0.0.11/ 25 (en lugar de 24 ). Sin embargo, creo que es teóricamente posible hacer esto correctamente.

¿Qué piensas?

Totor
fuente
no es trampa si usas máscara / 32 ...
zb
pero no funcionaría porque un / 32 no puede comunicarse con nada más que con sí mismo ...
Totor
ok, pero / 25 tampoco funcionará que.
zb

Respuestas:

11

Debe configurar la promote_secondariesopción en la interfaz o en todas las interfaces:

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

o

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

Cambie eth0a allpara que funcione en todas las interfaces.

Esta opción ha estado activa desde 2.6.12 .

Probé esto con una interfaz ficticia y funcionó allí.

camh
fuente
Exactamente lo que necesitaba, gracias! Ver el commit original .
Totor
1
Tenga en cuenta que esta opción está disponible desde 2.6.12 , así que antes de 2.6.16.
Totor