1

У меня есть 2 компьютера OpenBSD, настроенные как межсетевые экраны между моей сетью и Интернетом. В локальной сети fw1 имеет IP 192.168.0.253 , а fw2 имеет IP 192.168.0.254 , и они используют 192.168.0.1 используя CARP. В глобальной сети они имеют IP-адреса 192.168.1.253 и 192.168.1.254 и совместно используют 172.16.0.1 (реальный IP-адрес - публичный IP-адрес). Я настроил его так, чтобы сохранить публичные IP-адреса; У меня недостаточно для того, чтобы назначить каждому файерволу свой собственный IP и использовать CARP для третьего.

Тем не менее, CARP, похоже, не работает правильно. Когда я fw1 , внутреннее устройство CARP переключается в режим резервного копирования. Однако внешний интерфейс остается в режиме мастера. Как ни странно, fw2 также переходит в режим мастера, когда я fw1 , поэтому есть 2 мастера.

Есть идеи, почему этот интерфейс не переходит в режим резервного копирования?

1 ответ1

0

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

Чтобы изменить это поведение, вы должны изменить флаг preempt на 1:

sysctl net.inet.carp.preempt=1

Вот исключение из FAQ по OpenBSD:

net.inet.carp.preempt

Разрешить хостам в группе избыточности, которые имеют лучшую базу данных и Advskew, выгрузить мастер. Кроме того, эта опция также позволяет переключать группы интерфейсов в случае сбоя одного интерфейса. Если один физический интерфейс с поддержкой CARP выйдет из строя, CARP увеличит счетчик понижения, carpdemote, на 1 в группах интерфейсов, членом которых является интерфейс carp(4), что фактически приведет к аварийному переключению всех членов группы вместе. Значение net.inet.carp.preempt равно 0 (отключено) по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .