Важное уведомление: |
В этой статье объясняется, как направить трафик из туннеля site-to-site в другой туннель, чтобы достичь устройств, находящихся за соединением site-to-site. Она объясняет, как направить трафик с сайта A на сайт B через брандмауэр / шлюз HQ (маршрут site-to-site через туннель site-to-site), устранение проблем и неполадок, правила маршрутизации, если вы хотите, чтобы ваши клиентские VPN достигли сервера, расположенного на другом сайте (client-to-site через site-to-site), конфигурация SecuExtender IPSec.
Альтернатива 1: Маршрутизация трафика из удаленного VPN туннеля на другой VPN сайт-сайт
1) Настройка VPN-туннелей
Необходимые условия: Между локациями должно быть установлено соединение site-to-site.
Как только туннель будет создан, мы подключим его с помощью L2TP через IPSec.
Инструкции по настройке VPN см. в разделе:
VPN - Настройка IPSec Site-To-Site VPN
Вы можете найти информацию о L2TP через IPSec:
VPN - Настройка L2TP через IPSec VPN с использованием PSK [Автономный режим]
Чтобы упростить процесс, можно воспользоваться мастером создания VPN-туннеля и L2TP over IPSec.
2) Настройка политик маршрутизации
Чтобы разрешить трафик между главным офисом (HQ) и сайтом B, необходимо настроить политики и маршруты для VPN-туннеля.
На брандмауэре штаб-квартиры:
-
Создайте маршрут политики, который направляет входящие запросы из туннеля L2TP в туннель сайта B. Это маршрутизация входящих запросов из туннеля L2TP через брандмауэр штаб-квартиры в туннель сайта B
- Источник: Подсеть клиента L2TP
- Назначение: Подсеть сайта B
- Next-hop: VPN Tunnel "Site B tunnel"
Обратите внимание, что адрес назначения - это адрес нашего клиента.
2. Создайте политику, разрешающую ответы с сайта B и направляющую их в туннель к сайту B. Это важно для трафика, возвращающегося с сайта B в штаб-квартиру.
-
- Источник: Любой
- Назначение: Туннель L2TP
- Next-hop: VPN Tunnel "L2TP Tunnel"
На сайте B:
-
Также создайте маршрут политики, который разрешает входящие запросы из штаб-квартиры и направляет их в туннель на сайт B. Также создайте маршрут политики, который разрешает ответы из штаб-квартиры и направляет их в туннель на сайт B:
Убедитесь, что включена асимметричная маршрутизация для бесперебойного подключения. Эту опцию можно найти здесь:
Конфигурация > Политика безопасности > Контроль политики
Включение этой функции активирует "треугольный" маршрут, позволяя брандмауэру использовать асимметричную топологию маршрутов в сети и предотвращая сброс соединений при получении ответов.
Выполнив эти шаги, вы сможете эффективно направлять трафик между туннелями VPN и поддерживать бесперебойное и безопасное соединение между штаб-квартирой и сайтом B.
Альтернатива 2: Маршрутизация из VPN-туннеля на другой VPN-сайт
1) Маршрутизируйте трафик с сайта A на сайт B через сайт штаб-квартиры
Если вы хотите, чтобы сайт A достигал сайта B и наоборот, вам нужно создать маршруты политики на каждом брандмауэре, чтобы брандмауэр HQ знал, куда отправлять входящие запросы, а также куда отправлять ответы.
1.1 Маршруты политики - брандмауэр HQ
На брандмауэре HQ сначала нужно настроить правило, разрешающее запросы, поступающие с сайта A на сайт B. Они должны быть направлены в туннель на сайт B, и это важно как для ICMP-запросов (поступающих с сайта A), так и для ICMP-ответов (поступающих с сайта B и теперь снова возвращающихся на сайт B).
Входящий: любой - Источник: "Site A subnet" -> Destination: "подсеть сайта B" - Next-hop Tunnel - "VPN-туннель сайта B"
Во-вторых, вам нужно настроить правило, разрешающее ответы, приходящие с сайта B на сайт A (когда вы отправили запрос с сайта A), и они должны быть направлены в туннель сайта A. Это важно как для ICMP-запросов (приходящих с сайта B), так и для ICMP-ответов (приходящих с сайта B и теперь снова возвращающихся на сайт A).
Входящий: любой - Источник: "Site B subnet" -> Destination: "подсеть сайта A" - Next-hop Tunnel - "VPN-туннель сайта A"
1.2 Маршруты политики - брандмауэр сайта A
Затем вам нужно настроить правило, разрешающее запросы с сайта B, идущие на сайт A (когда вы отправили запрос с сайта B). Они должны быть направлены"обратно" в туннель сайта A, и это важно как для ICMP-запросов (приходящих с сайта B), так и для ICMP-ответов (приходящих с сайта B и теперь снова возвращающихся на сайт B).
Входящий: любой - Источник: "Site B subnet" -> Destination: "подсеть сайта A" - Next-hop "VPN-туннель сайта A"
1.3 Маршруты политики - брандмауэр сайта B
Затем вам нужно настроить правило, разрешающее запросы, приходящие с сайта A, которые направляются на сайт B (когда вы отправили запрос с сайта A). Они должны быть направлены"обратно" в туннель сайта B, и это важно как для ICMP-запросов (приходящих с сайта A), так и для ICMP-ответов (приходящих с сайта A и теперь снова возвращающихся на сайт A).
Входящий: любой - Источник: "Site A subnet" -> Destination: "подсеть сайта B" - Next-hop "VPN-туннель сайта B"
2) Проверка / устранение неполадок
Когда вы настроили все маршруты политики, важно проверить, что маршрутизация действительно работает. Возможно, в правилах брандмауэра есть конфликтующие маршруты (перекрытие подсетей, существующие политические/статические маршруты и т. д.) или что-то еще не так.
Обратите внимание, что это может быть очень запутанным, поскольку существует множество маршрутов, о которых вам нужно позаботиться. Самый простой способ сделать это - вручную нарисовать на бумаге все потоки пакетов (ПК -> шлюз A - шлюз должен направить их в штаб, штаб должен направить их в сайт B - сайт B должен направить ответ снова в штаб ... и т.д.), спросите себя - "кто отвечает за маршрутизацию, и есть ли маршрутизация на месте?".
Ниже вы найдете два сценария, в которых вам может потребоваться изменить конфигурацию, чтобы маршрутизация работала.
2.1 Тест с помощью Pinging брандмауэра
Первый вариант - это тестирование с помощью пинга с ПК на сайте A на сервер или ПК на сайте B:
Красная стрелка - ICMP [ping] запрос
Зеленая стрелка - ICMP [ping] ответ
2.2mПолитические маршруты - брандмауэр сайта A
Если вы пингуете шлюз сайта B со шлюза сайта A (встроенный инструмент ICMP), политика маршрутизации на сайте A не будет применяться для ответов от сайта B, если сайт B пытается пинговать шлюз сайта A.
Поэтому нам нужен маршрут политики, который выглядит следующим образом:
Входящий: ZyWall - Источник: "Site B subnet" -> Destination: "Подсеть сайта A" - Next-hop "VPN-туннель сайта A"
2.3 Маршруты политики - брандмауэр сайта B
Первый тест, который вы можете сделать, это пропинговать брандмауэр, однако, поскольку маршрутизация, которую вы создали, предназначена ТОЛЬКО для входящих (исключая Zywall), это означает, что маршрутизация не будет применяться, если пинг приходит с сайта A, достигает брандмауэра сайта B, а затем брандмауэр отвечает за ответ на этот запрос. Тогда ICMP-ответ будет выглядеть следующим образом:
ICMP запрос
PC (ICMP запрос) -> Шлюз сайта A -> VPN туннель в штаб-квартиру -> Шлюз штаб-квартиры отправляет трафик на шлюз сайта B
ICMP-ответ
Шлюз сайта B (ICMP Reply) -> Шлюз сайта B -> VPN-туннель в HQ -> Шлюз HQ отправляет трафик на шлюз сайта A -> Шлюз сайта A отправляет пакеты обратно на ПК
Таким образом, необходим этот маршрут политики:
Входящий: ZyWall - Источник: "Site A subnet" -> Destination: "Подсеть сайта B" - Next-hop "VPN-туннель сайта B"
2.4 Тест с помощью пинга сервера / ПК
Поскольку ПК расположен в сети 192.168.20.0/24, а сервер - в сети 192.168.30.0/24, сервер не распознает сеть 192.168.20.0/24 и поэтому, скорее всего, будет блокировать ICMP-пакеты, приходящие из неизвестных подсетей. Поэтому при выполнении тестов всегда:
- Отключите любой встроенный брандмауэр (например, Windows Defender / Firewall).
- Отключите другие антивирусные программы и программы защиты конечных точек, установленные на сервере / ПК.
Маршрутизация трафика между клиентами и сайтами через туннель между сайтами
Внимание: Это не работает с Dynamic VPN! Пожалуйста, выберите только Site2Site VPN!
1) Настройте SecuExtender IPSec VPN
Для того чтобы направить клиентов IPSec VPN в другой туннель, им необходимо использовать фиксированные IP-адреса.
Если требуется маршрутизировать множество различных клиентов, рекомендуется использовать IP-адреса, расположенные близко друг к другу, чтобы можно было создать диапазон. Это уменьшит количество необходимых маршрутов.
Подсеть, в которой находятся IP-адреса, не обязательно должна присутствовать на брандмауэре.
Введите фиксированный IP-адрес на клиенте IPSec VPN
2) Настройте маршрутизацию брандмауэра
На брандмауэре перейдите по адресу
Configuration > Object > Address
и нажмите на
Add
чтобы создать диапазон для IP-адресов клиентов IPSec VPN.
Теперь мы можем добавить необходимые маршруты в
Configuration > Network > Routing
щелчком на
Add
2.1 Брандмауэр на объекте
Нам нужно создать два маршрута:
- Один для исходящего трафика - из динамического туннеля VPN-клиента в удаленную подсеть через туннель site-to-site.
- Один для входящего трафика, то есть из удаленной подсети через туннель site-to-site в туннель VPN-клиента.
Новые маршруты должны выглядеть примерно так:
Для того чтобы входящий трафик из удаленной подсети проходил через удаленный VPN-туннель, вы можете включить "асимметричный маршрут":
Это включит "треугольный" маршрут, который заставит брандмауэр разрешить использование асимметричной топологии маршрута в сети и не сбрасывать соединение, когда ответ приходит обратно.
2.2 Брандмауэр на сайте B
На удаленном сайте может потребоваться создание аналогичных маршрутов, чтобы устройство на главном сайте знало, как обрабатывать трафик от VPN-клиентов, приходящих с сайта филиала.
На главном сайте мы создаем IP-диапазон для удаленных VPN-клиентов, чтобы использовать его для маршрутизации трафика.
Теперь мы создадим соответствующие маршруты и на сайте HQ.
Один исходящий маршрут - из подсети HQ через туннель site-to-site к удаленным VPN-клиентам.
И один входящий маршрут, то есть из диапазона удаленных VPN-клиентов через туннель site-to-site в локальную сеть HQ. Если трафик направляется в локальную подсеть, мы выбираем "Auto" в качестве next-hop, USG управляет этим автоматически.
Маршруты должны выглядеть примерно так:
+++ Вы можете купить лицензии для ваших клиентов Zyxel VPN (SSL VPN, IPsec) с немедленной доставкой в 1 клик: Zyxel Webstore +++