У меня есть двойной брандмауэр / маршрутизатор Linux, который подключен к 2 различным вышестоящим провайдерам. Внутренне маршрут по умолчанию - отработка отказа с использованием vrrp.
Настройка выглядит примерно так. Маршруты предоставляются маршрутизаторам через BGP.
Provider A (x.x.x.57) - Router 1 [WAN](x.x.x.58) [LAN](a.a.a.130/128)
+----- VRRP (a.a.a.129/128) [default gw]
Provider B (y.y.y.61) - Router 2 [WAN](y.y.y.62) [LAN](a.a.a.131/128)
В целом все работает корректно.
Однако я заметил, что, когда маршрутизатор 1 является мастером для VRRP, a.a.a.131 не может получать эхо-запросы от клиента, который маршрутизируется через провайдера A. Аналогично, если маршрутизатор 2 является мастером, мы не можем пинговать a.a.a.130. Я также не могу использовать ssh по этому адресу. Однако я могу использовать ssh или ping на стороне WAN обоих маршрутизаторов в любое время. Поскольку я могу подключиться к WAN-интерфейсу маршрутизатора 2, когда маршрутизатор 1 является ведущим и переадресация включена, почему я не могу напрямую подключиться к локальной сети того же маршрутизатора, если он не является ведущим?
Что могло бы быть причиной этого?
Чтобы ответить на свой вопрос. Я нашел следующую ссылку о фильтрации обратного пути, как очень полезную. Следуя его предложениям, мне удалось решить возникшую у меня проблему.