Как изменить основной IP-адрес удаленного хоста, не отключаясь вообще (не находясь в состоянии «без IP-адреса»).
Этот вопрос плохо обсуждается в Интернете (согласно моим исследованиям). Лучший ресурс, который я нашел, немного хитрый.
ПРИМЕР: изменить 10.0.0.11/24 на 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
Проблема: последняя команда удаляет оба IP-адреса, и соединение теряется, поскольку 10.0.0.11 является основным, и удаляет свои вторичные адреса (к которым относится 10.0.0.15) при удалении.
Я знаю , что я мог «обмануть», добавив 10.0.0.11/ 25 (вместо 24 ). Тем не менее, я думаю, что теоретически возможно сделать это правильно.
Как вы думаете?
Ответы:
Вам нужно установить
promote_secondaries
опцию на интерфейсе или на всех интерфейсах:или
Изменение
eth0
к ,all
чтобы он работает на всех интерфейсах.Эта опция существует с 2.6.12 .
Я проверил это с помощью фиктивного интерфейса, и он работал там.
источник