Среда: В корпоративной сети есть устройство Firebox серии M с Total Security Suite в штаб-квартире. В каждом филиале есть небольшой Firebox серии T без услуг подписки. По этой причине весь трафик из филиалов направляется через устройство серии M в головном офисе. Некоторые из Firebox в филиалах имеют статический IP-адрес, некоторые получают его через DHCP.
Иногда могут возникать проблемы с туннелем (например, если сеть HQ не работает). Следовательно, Firebox-ы филиала должны иметь возможность отказаться от маршрута 0.0.0.0/0
через туннель и какое-то время работать автономно, поскольку подключение к Интернету BO имеет решающее значение для бизнеса. Это работает с виртуальным интерфейсом BO, но не с 0.0.0.0/0
через BO GW & Tunnel.
Упрощенная (только один внешний и надежный, если) конфигурация, связанная с филиалом с 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
: Trusted [Trusted] - 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
с
. Существуют политики брандмауэра, разрешающие весь необходимый трафик на обоих устройствах; поэтому проблема ограничивается только маршрутизацией.
Для 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 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.