Назад | Перейти на главную страницу

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

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

Вот как я представляю себе, что могу это сделать:

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

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

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

  4. Напишите сценарий, чтобы отключить как старый, так и новый 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 и убедитесь, что все работает, когда оно вернется.

SPoF

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

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

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