Окружающая среда: В корпоративной сети есть устройство Firebox серии M с Total Security Suite в штаб-квартире. В каждом филиале есть небольшой Firebox серии T без услуг подписки. По этой причине весь трафик из филиалов направляется через устройство серии M в головном офисе. Некоторые из Firebox-ов филиала имеют статический IP-адрес, некоторые получают его через DHCP.
Иногда могут быть проблемы с туннелем (например, если сеть HQ не работает). Следовательно, топки филиала должны иметь возможность отказаться от 0.0.0.0/0
проложите маршрут через туннель и некоторое время поработайте автономно, поскольку подключение к Интернету BO имеет решающее значение для бизнеса. Это работает с виртуальным интерфейсом BO, но не с 0.0.0.0/0
через BO GW и туннель.
Упрощенная конфигурация (только один внешний и надежный, если), филиал с DHCP.
10.9.0.1
) - M670 [Fireware OS v12.2.1.B572649] eth0
: ISP1 [Внешний] - 198.51.100.123/24
(Статический)eth1
: Надежно [Надежно] - 10.9.0.1/24
bvpn20
): BovpnVif.BO20 [IKEv1] 10.9.20.0/24
10.9.20.1
) - T55 [Fireware OS v12.2.1.B572649] 192.0.2.10
& 192.0.2.20
(DNS-серверы ISP2)eth0
: ISP2 [Внешний] - 203.0.113.33/24
(DHCP)eth1
: Надежно [Надежно] - 10.9.20.1/24
bvpn1
): BovpnVif.HQ [IKEv1] 0.0.0.0/0
Когда туннель не работает, все работает нормально. Firebox-BO20 может работать как преобразователь DNS для своих eth1
сеть. Обе 10.9.20.0/24
и сам Firebox может получить доступ в Интернет.
Проблема: Когда туннель поднят и 0.0.0.0/0
маршрут через bvpn1
добавлен, клиенты на eth1
может выходить в Интернет через VPN и все ресурсы (включая DNS-серверы) в штаб-квартире.
IPv4 Routes
------------
Destination Gateway Genmask Flags Metric Interface
0.0.0.0 0.0.0.0 0.0.0.0 U 1 bvpn1
0.0.0.0 203.0.113.1 0.0.0.0 UG 5 eth0
10.9.20.0 0.0.0.0 255.255.255.0 U 0 eth1
203.0.113.0 0.0.0.0 255.255.255.0 U 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 lo
Тем не мение, Firebox перестает работать как преобразователь DNS и теряет собственное подключение к Интернету. Это связано с тем, что собственные соединения Firebox также начинают использовать этот маршрут.
192.0.2.10
& 192.0.2.20
недоступны с ISP1.10.9.20.0/24
может получить доступ в Интернет через bvpn1
.10.9.20.1
через туннель, но 203.0.113.33
.Any From Firebox-00
жестко запрограммирован и не отображается в диспетчере политик. Иначе было бы легко заставить его использовать eth0
с участием <policy-routing>
.Существуют политики брандмауэра, позволяющие разрешить весь необходимый трафик на обоих устройствах; поэтому проблема ограничивается только маршрутизацией.
Для DNS-серверы ISP2 вам нужно добавить статические маршруты в Firebox-BO20.
192.0.2.10
, шлюз 203.0.113.1
метрика 0
.192.0.2.20
, шлюз 203.0.113.1
метрика 0
.После сохранения настроек в Firebox таблица маршрутов с подключенным туннелем выглядит так:
IPv4 Routes
------------
Destination Gateway Genmask Flags Metric Interface
0.0.0.0 0.0.0.0 0.0.0.0 U 1 bvpn1
0.0.0.0 203.0.113.1 0.0.0.0 UG 5 eth0
10.9.20.0 0.0.0.0 255.255.255.0 U 0 eth1
192.0.2.10 203.0.113.1 255.255.255.255 UGH 0 eth0
192.0.2.20 203.0.113.1 255.255.255.255 UGH 0 eth0
203.0.113.0 0.0.0.0 255.255.255.0 U 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 lo
Другой вариант - использовать общедоступные DNS-серверы (например, Cloudflare's 1.1.1.1
/ 1.0.0.1
или Google 8.8.8.8
/ 8.8.4.4
), который работает на обоих интернет-провайдерах. Таким образом, вам не нужно будет добавлять маршруты на Firebox-BO20, но приведенное ниже решение обязательно для обоих подходов.
Для Интернет-соединение Firebox-BO20 когда туннель подключен, все немного сложнее, так как Firebox использует свой внешний IP-адрес при отправке пакетов через туннель. Если у вас есть соответствующее правило при входе в систему, например, прокси HTTPS, вы увидите это в журналах, например:
Allow 203.0.113.33 23.99.53.216 https/tcp 46452 443 BovpnVif.BO20-bvpn20 ISP1
HTTPS Request (HTTPS-proxy-00) HTTPS-Client.Standard proc_id="https-proxy"
... sni="services.watchguard.com" cn="services.watchguard.com"
У этого есть маршрут 0.0.0.0/0
на Firebox-BO20, но нет маршрута на туннеле Firebox-HQ bvpn20
.
Вам необходимо отредактировать виртуальный интерфейс BOVPN BovpnVif.BO20 и добавить маршрут к внешнему IP Firebox-BO20. Если бы IP-адрес был статическим, это был бы один 203.0.113.33/32
.
В этом случае, когда внешний интерфейс Firebox-BO20 находится на DHCP, вам понадобится маршрут, который охватывает все возможные IP-адреса, которые он может получить, весь пул DHCP, например. 203.0.113.0/24
. Конечно, это означает, что Firebox-HQ будет использовать этот маршрут и для других адресов в этом диапазоне. Это может вызвать проблемы в некоторых случаях использования - если это так, вам необходимо получить статический IP-адрес.
По умолчанию Firebox добавляет динамические NAT для частных сетей. 192.168.0.0/16
, 172.16.0.0/12
и 10.0.0.0/8
. Как внешний IP 203.0.113.33
не находится в этих сетях, вам нужно добавить (Сеть> NAT ...) Динамический NAT от BovpnVif.BO20 к Any-External. К счастью, это можно сделать с помощью существующего встроенного псевдонима для виртуального интерфейса BOVPN.