Как переключить IP (включая подсеть) на OpenBSD без сбоев
У меня есть брандмауэр OpenBSD, где я должен изменить IP-адрес на интерфейсе администратора (включая изменение подсети / шлюза), и я ищу, как сделать это удаленно, не теряя свой SSH (так что я могу исправить вещи, если возникнут проблемы).
Вот как я могу это сделать:
Добавить новый IP-адрес в качестве псевдонима для моего сетевого интерфейса. (Вопрос: Как правильно добавить IP-адрес в другую подсеть, чем оригинальный IP-адрес? http://www.openbsd.org/faq/faq6.html, неясно, есть ли что-то особенное для другая подсеть, кроме того, укажите маску сети)
Добавьте новый шлюз с маршрутом. (Вопрос: Должен ли я добавить его в качестве шлюза по умолчанию или просто для новой подсети?)
SSH на новый IP.
Напишите сценарий, чтобы отключить старый и новый 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 месяцев, и ваши изменения будут нарушены, вы не помните, почему, и вы можете потратить часы на решение проблемы, а не просто исправить ее сразу.