Ubah alamat IP host jarak jauh tanpa kehilangan kontrol (Linux)


10

Bagaimana saya bisa mengubah alamat IP primer host jarak jauh tanpa terputus sama sekali (tanpa dalam keadaan "no IP addr").

Masalahnya kurang dibahas di Internet (menurut penelitian saya). Sumber daya terbaik yang saya temukan sedikit rumit.

CONTOH: ubah 10.0.0.11/24 menjadi 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 

Masalah: Perintah terakhir menghapus alamat IP dan koneksi terputus karena 10.0.0.11 adalah yang utama, dan menghapus alamat sekundernya (yang menjadi milik 10.0.0.15) saat dihapus.

Saya tahu saya bisa "menipu" dengan menambahkan 10.0.0.11/ 25 (bukan 24 ). Namun, saya pikir secara teori dimungkinkan untuk melakukan ini dengan benar.

Bagaimana menurut anda?


tidak curang jika Anda menggunakan / 32 mask ...
zb

tetapi itu tidak akan berhasil karena a / 32 tidak dapat berkomunikasi dengan apa pun kecuali dirinya sendiri ...
Totor

ok, tapi / 25 juga tidak akan berfungsi.
zb

Jawaban:


11

Anda perlu mengatur promote_secondariesopsi di antarmuka, atau di semua antarmuka:

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

atau

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

Ubah eth0untuk allmembuatnya berfungsi di semua antarmuka.

Opsi ini sudah ada sejak 2.6.12 .

Saya menguji ini dengan antarmuka tiruan dan itu bekerja di sana.


Apa yang saya butuhkan, terima kasih! Lihat komit asli .
Totor

1
Harap dicatat bahwa opsi ini tersedia sejak 2.6.12 , jadi sebelum 2.6.16.
Totor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.