Modifica l'indirizzo IP dell'host remoto senza perdere il controllo (Linux)


10

Come posso modificare un host remoto primaria indirizzo IP senza essere scollegata a tutti (senza essere in uno stato di "no addr IP").

La questione è poco discussa su Internet (secondo la mia ricerca). La miglior risorsa che ho trovato è un po 'complicata.

ESEMPIO: modifica da 10.0.0.11/24 a 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: l'ultimo comando rimuove entrambi gli indirizzi IP e la connessione viene persa perché 10.0.0.11 è primario e rimuove i suoi indirizzi secondari (a cui appartiene 10.0.0.15) quando viene eliminato.

So che potrei "imbrogliare" aggiungendo 10.0.0.11/ 25 (anziché 24 ). Tuttavia, penso che sia teoricamente possibile farlo correttamente.

Cosa ne pensi?


non è un trucco se usi la maschera / 32 ...
zb

ma non funzionerebbe perché un / 32 non può comunicare con nient'altro che se stesso ...
Totor

ok, ma anche / 25 non funzionerà.
zb "

Risposte:


11

Devi impostare l' promote_secondariesopzione sull'interfaccia o su tutte le interfacce:

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

o

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

Cambia eth0per allfarlo funzionare su tutte le interfacce.

Questa opzione è disponibile dal 2.6.12 .

Ho provato questo con un'interfaccia fittizia e ha funzionato lì.


Esattamente quello di cui avevo bisogno, grazie! Vedi il commit originale .
Totor

1
Questa opzione è disponibile dal 2.6.12 , quindi prima del 2.6.16.
Totor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.