У меня есть брандмауэр OpenBSD, где мне нужно изменить IP-адрес в интерфейсе администратора (включая изменение подсети / шлюза), и я ищу, как сделать это удаленно, не теряя SSH (чтобы я мог исправить ситуацию, если есть проблемы).
Вот как я представляю себе, что могу это сделать:
Добавьте новый IP-адрес в качестве псевдонима к моему сетевому интерфейсу. (Вопрос: как правильно добавить IP-адрес в подсеть, отличную от исходной? http://www.openbsd.org/faq/faq6.html#Setup.aliases неясно, есть ли что-то особенное, что нужно сделать для другой подсети, кроме указания сетевой маски)
Добавьте новый шлюз с маршрутом. (Вопрос: следует ли добавить его как шлюз по умолчанию или только для новой подсети?)
SSH на новый IP.
Напишите сценарий, чтобы отключить как старый, так и новый IP-адреса и использовать новый IP-адрес в качестве IP-адреса основного интерфейса. На этом этапе мне определенно нужно добавить новый шлюз в качестве gw по умолчанию, верно? Запустите его изнутри экрана, чтобы он продолжал работать, если сеть временно отключится. (Вопрос: должно ли это сработать? Есть ли какие-то особые подводные камни, на которые я должен обращать внимание? Какие-либо советы о том, какие команды следует запускать, чтобы сделать это правильно?)
С помощью tmux
или screen
открыть сеанс оболочки для sleep NSECS && reboot
(NSECS 300 часто вполне подходит, но YMMV) - это позволит повторно получить доступ с предыдущими настройками, если повторная конфигурация пошла не так. Да, это отключение, но лучше. Ты можешь использовать shutdown -r +min
если вам нравится тревожный сигнал перезагрузки на консоли :-)
В другом сеансе оболочки назначьте псевдоним интерфейсу. Ничего особенного, если сети не перекрываются, просто используйте правильную маску (не / 32). Затем используйте route change default
(видеть руководство). Собственно, вы можете использовать сценарий оболочки ping
использование какого-то удаленного хоста и создание route change default old-gw
в случае отсутствия эха). Это избавит вас от перезагрузки, если новые настройки шлюза не работают.
В основном это все.
P. S. Не забудьте отменить перезагрузку, если миссия прошла успешно. ;-) Не забудьте также сохранить новые настройки в конфигах.
Если вас так беспокоит сбой, я предполагаю, что у вас есть как минимум два брандмауэра, на которых работает CARP и связанные с ним службы.
Если у вас их нет, у вас будет сбой при выходе из строя диска или блока питания или при обновлении до OpenBSD 5.0 через несколько месяцев.
Отредактируйте соответствующие /etc/hostname.if(5) и / etc / mygate на box1 с новым IP-адресом. Поле перезагрузки 1. Когда он вернется, убедитесь, что все работает.
Когда вы уверены, что все в порядке, отредактируйте /etc/hostname.if(5) и / etc / mygate на box2 с новым IP-адресом. Перезагрузите box2 и убедитесь, что все работает, когда оно вернется.
если ты действительно есть только одно поле, отредактируйте hostname.if и mygate с новым IP-адресом и перезагрузитесь, когда будет меньше пользователей.
Вы все равно захотите перезагрузить систему, чтобы убедиться, что настроен правильный IP-адрес. Если вы подождете 6 месяцев и внесете изменения, вы не вспомните, почему, и вы можете потратить часы на решение проблемы, вместо того, чтобы сразу решить ее.
Я бы настроил последовательный порт для терминала и подключил его к ноутбуку или чему-то еще вне диапазона. Внесите все свои изменения с этой точки входа.