Как переключить IP (включая подсеть) на OpenBSD без сбоев

У меня есть брандмауэр OpenBSD, где я должен изменить IP-адрес на интерфейсе администратора (включая изменение подсети / шлюза), и я ищу, как сделать это удаленно, не теряя свой SSH (так что я могу исправить вещи, если возникнут проблемы).

Вот как я могу это сделать:

  1. Добавить новый IP-адрес в качестве псевдонима для моего сетевого интерфейса. (Вопрос: Как правильно добавить IP-адрес в другую подсеть, чем оригинальный IP-адрес? http://www.openbsd.org/faq/faq6.html, неясно, есть ли что-то особенное для другая подсеть, кроме того, укажите маску сети)

  2. Добавьте новый шлюз с маршрутом. (Вопрос: Должен ли я добавить его в качестве шлюза по умолчанию или просто для новой подсети?)

  3. SSH на новый IP.

  4. Напишите сценарий, чтобы отключить старый и новый IP-адреса, а также новый IP-адрес в качестве IP-адреса основного интерфейса. В этот момент мне совершенно определенно нужно добавить новый шлюз в качестве gw по умолчанию, верно? Запустите его из экрана, чтобы он продолжал работать, если сеть временно падает. (Вопрос: Должно ли это делать эту работу? Есть ли какие-то особые ошибки, за которыми я должен следить? Какие-либо советы по поводу того, какие команды нужно выполнить, чтобы сделать это правильно?)

3 ответа

Решение

С помощью tmux или же screen открыть сеанс оболочки для sleep NSECS && reboot (NSECS 300 часто довольно хорошо, но YMMV) - это позволило бы повторно получить доступ с предыдущими настройками, если перенастройка прошла неправильно. Да, это сбой, но лучше. Ты можешь использовать shutdown -r +min если вам нравится перезагрузка тревожно на консоли:-)

В другой сессии оболочки назначьте псевдоним для интерфейса. Ничего особенного, если сети не перекрываются, просто используйте правильную маску (не /32). Тогда используйте route change default (см. руководство). На самом деле, вы можете использовать сценарий оболочки pingиспользуя некоторый удаленный хост и делая route change default old-gw в случае, если не было эхо). Это спасет вас от перезагрузки в случае, если новые настройки шлюза не работают.

В основном это все.

PS Не забудьте отменить перезагрузку, если миссия прошла успешно.;-) Не забудьте также сохранить новые настройки в конфигах.

Я бы настроил последовательный порт для терминала и подключил его к ноутбуку или к чему-то другому. Внесите все свои изменения с этой точки входа.

Используйте вашу избыточность

Если вас так беспокоит сбой, я предполагаю, что у вас есть как минимум два брандмауэра, на которых работает CARP и связанные службы.

Если у вас их нет, произойдет сбой в случае смерти диска или блока питания или при обновлении до OpenBSD 5.0 ​​через несколько месяцев.

Отредактируйте соответствующие /etc/hostname.if(5) и /etc/mygate на box1 с новым IP-адресом. Перезагрузите box1. Когда он вернется, убедитесь, что все работает.

Если вы уверены, что все в порядке, отредактируйте /etc/hostname.if(5) и /etc/mygate на box2 с новым IP-адресом. Перезагрузите box2 и убедитесь, что все работает, когда он возвращается.

SPOF

Если у вас действительно есть только один ящик, отредактируйте hostname.if и mygate с новым IP-адресом и перезагрузитесь, когда наименьшее количество пользователей включено.

Вы все равно захотите перезагрузить систему, чтобы убедиться, что настроен правильный IP-адрес. Если вы подождете 6 месяцев, и ваши изменения будут нарушены, вы не помните, почему, и вы можете потратить часы на решение проблемы, а не просто исправить ее сразу.

Другие вопросы по тегам