Соавтор: Храмцов Дмитрий Юрьевич
Сетевой специалист
7 марта 2022 года американская компания Fortinet, производитель оборудования под торговой маркой FortiGate, заявила о приостановке своей деятельности на территории России. Оборудование FortiGate после этого, конечно, работать не перестало, но об обновлениях софта и технической поддержке устройств теперь придется забыть — по крайней мере, на какое-то время. Чтобы избежать возможных проблем с безопасностью, в одной из организаций, активно использующих оборудование Fortinet, было принято решение дополнить сеть универсальным шлюзом безопасности (UTM) Traffic Inspector Next Generation (TING), и направить через него трафик между локальной сетью и интернетом. При этом уже имеющиеся устройства FortiGate будут играть роль маршрутизаторов для подключения удаленных пользователей. Давайте рассмотрим этот случай более подробно.
Исходные данные
Изначальная диспозиция была такова. Компания использует два канала для подключения к интернету: основной и резервный. Провайдер, обслуживающий первый канал, предоставляет 1 внешний IP-адрес. На втором канале используется пул из 8 IP-адресов по маске 29. Оба канала подключаются к коммутатору, оттуда Allowed Vlan приходит на WAN-порт маршрутизатора FortiGate FG-100. К нему же подключены пользователи локальной сети (Vlan500) и удаленные пользователи, соединяющиеся с корпоративной сетью c помощью SSL VPN. Также к этому маршрутизатору через VPN с использованием IPSec подключены роутеры FortiGate в удаленных филиалах, обеспечивающие маршрутизацию в своих локальных сетях.
Задача формулировалась следующим образом: на границе между интернетом и корпоративной сетью следует установить UTM Traffic Inspector Next Generation, и настроить его таким образом, чтобы весь трафик из локальной сети Vlan500 в интернет и обратно транслировался через него. Все удаленные подключения к корпоративной сети, как филиалов, так и отдельных пользователей, будут по-прежнему выполняться через FortiGate.
Общий план реализации
Для того чтобы реализовать задуманное, нужно выполнить следующие действия:
организовать соединение между TING и FortiGate через управляемый коммутатор с настройками соответствующих интерфейсов;
настроить тоннель между TING и FortiGate с использованием OSPF, чтобы анонсировать интересующие нас сети в TING;
настроить на FortiGate FG-100 политику маршрутизации таким образом, чтобы маршрутизация внутри сети выполнялась на FortiGate, а все внешние запросы транслировались на TING.
Теперь рассмотрим все эти шаги более подробно.
Приступаем к делу
Настройка VLAN
В первую очередь необходимо организовать соединение L2 между TING и FortiGate — для этого мы подключаем их LAN-порты витой парой через управляемый коммутатор. В нашей топологии это будет отдельная виртуальная локальная сеть с обозначением Vlan950. Эту VLAN необходимо добавить на коммутаторе, чтобы обеспечить связь между устройствами.
Далее необходимо настроить интерфейс на Traffic Inspector Next Generation. Для этого нужно перейти в раздел Интерфейсы -> Другие типы -> VLAN, затем в подраздел Интерфейсы -> Назначения портов, и нажать на значок «+», чтобы добавить новый порт. Не забудьте нажать на надпись Сохранить.
После добавления нового интерфейса его название появится в списке непосредственно в этом разделе — щелкните на нем мышью, либо выберите соответствующий интерфейс в разделе Интерфейсы. Здесь можно указать дополнительные параметры интерфейса VLAN, нас интересует в первую очередь Статический IPv4. Пусть для нашей виртуальной сети Vlan950 это будет 172.16.254.101/29. Нажмите на кнопку Сохранить, чтобы изменения вступили в силу.
Аналогичную настройку необходимо выполнить на маршрутизаторе FortiGate. Для этого нужно перейти на вкладку Network ⟶ Interfaces, ввести имя нового интерфейса, для параметра Type, обозначающего тип настраиваемого интерфейса, выбрать значение VLAN. В поле VLAN ID нужно указать идентификатор сети — в нашем случае это Vlan950. Для параметра Role следует установить значение LAN, а в поле IP/Netmask указать IP-адрес нашего интерфейса — пусть для FortiGate это будет 172.16.254.102/29.
Теперь необходимо настроить нашу виртуальную сеть в управляемом коммутаторе, чтобы отфильтровать лишний трафик. Устанавливаем порты, через которые выполняется соединение Vlan950 в режим Trunk, и разрешаем через этот порт только передачу трафика Vlan950. Весь остальной трафик запрещаем.
Настройка OSPF
Для того чтобы трафик из нашей локальной сети Vlan500, подключенной к маршрутизатору FortiGate, мог транслироваться в интернет и обратно через UTM Traffic Inspector Next Generation, между ними необходимо настроить туннель с использованием протокола OSPF (Open Shortest Path First).
OSPF — это протокол динамической маршрутизации. Его особенность заключается в том, что он отслеживает состояние канала и позволяет выбрать кратчайший маршрут в сети для передачи данных. Несмотря на то, что первая версия этого протокол была разработана еще в 1988 году, он активно используется и сегодня. После включения поддерживающих OSPF маршрутизаторов протокол ищет в сети ближайших соседей и устанавливает с ними доверительные отношения. После этого устройства обмениваются сведениями о доступных им сетях и строят общую карту сети, которая сохраняется на всех маршрутизаторах. При передаче пакетов с использованием этой карты сети запускается алгоритм, рассчитывающий оптимальный маршрут к каждой из сетей. В результате за счет построения оптимального маршрута информация в таких сетях может передаваться очень быстро, что считается одним из основных преимуществ OSPF.
Проблемы с использованием этого протокола возникают только в сетях с множественным доступом. Если маршрутизаторы соединены не последовательно, а через общую сеть, такая топология приводит к построению слишком больших и сложных таблиц маршрутизации, хранение которых требует значительного объема памяти, а обработка — процессорных ресурсов. Происходит это потому, что в рамках OSPF маршрутизаторы обмениваются данными по принципу «каждый с каждым», и если в непосредственном окружении таких узлов слишком много, карта сети получается перегруженной. Эта проблема решается с использованием специального механизма выбора на основе назначения ролей маршрутизаторов в сети (Designated Router (DR) и Backup Designated Router (BDR)), что позволяет значительно снизить нагрузку на OSPF-роутер при передаче данных. Подробнее об использовании протокола OSPF вы можете прочитать в [статье, опубликованной на нашем сайте](https://www.smart-soft.ru/blog/protokol_marshrutizatsii_ospf/).
К сожалению, настройка OSPF никак не представлена в официальной документации TING. Попробуем частично устранить этот недостаток. Для поддержки OSPF в TING используется специальный плагин, который называется os-frr — помимо OSPF (версий 2 и 3) он также добавляет в TING поддержку протоколов RIP (v1 и v2) и BGPv4.
Чтобы использовать протокол OSPF, необходимо перейти во вкладку маршрутизация. В этой вкладке отобразятся поддерживаемые плагином протоколы маршрутизации.
После этого нужно настроить OSPF на TING. С этой целью нужно перейти в раздел плагина OFSP, щелкнув мышью на соответствующей надписи.
В общем разделе необходимо включить OSPF, выбрать пассивный интерфейс Vlan950.
Во вкладке Сети необходимо добавить нашу подсеть.
Затем нужно открыть вкладку OSPFv3 и настроить в ней перераспределение маршрута, а также указать ID вашего роутера.
Теперь такую же настройку необходимо выполнить на маршрутизаторе FortiGate — в параметрах OSPF следует задать Area 0.0.0.0, а также настроить туннель на TING из этого интерфейса.
Теперь нам надо задать адреса туннеля. В нашем случае необходимо добавить во вкладку Networks следующую конфигурацию.
Настройка Friwall Policy
На финальном этапе необходимо настроить правила маршрутизации на устройстве FortiGate таким образом, чтобы пользователи локальной сети могли свободно обращаться к внутренним ресурсам, а весь внешний трафик направлялся на TING.
Для этого в Friwall Policy на маршрутизаторе FortiGate добавляем новое правило для созданного тоннеля. Затем переходим в раздел Policy Routes, и создаем два правила маршрутизации: первое — для внутреннего трафика локальной сети.
Второе правило — для трафика между локальной сетью Vlan500 и интернетом.
Таким образом, мы создали два правила динамической маршрутизации: одно из них позволяет пользователям без каких-либо ограничений обращаться к внутренним ресурсам локальной сети, второе направляет все запросы во внешнюю сеть в туннель Vlan950, откуда он перебрасывается на шлюз TING.
Заключение
Итак, нам удалось решить поставленную задачу. Для этого мы использовали настройку динамической маршрутизации на FortiGate и организовали туннель на основе протокола OSPF, в целях поддержки которого нам пришлось установить на TING дополнительный плагин os-frr. Поскольку весь внешний трафик теперь транслируется через универсальный шлюз безопасности Traffic Inspector Next Generation, у нас появилась возможность выполнить фильтрацию этого трафика, осуществлять его антивирусную проверку, а также блокировать доступ пользователей к определенным интернет-ресурсам.
При этом удаленные пользователи, подключающиеся к нашей сети с использованием SSL VPN, а также филиалы, использующие IPSec, по-прежнему сохранили возможность работать с ресурсами локальной сети — для них ровным счетом ничего не изменилось. Однако поскольку весь входящий трафик из интернета теперь подвергается фильтрации на шлюзе, для них снизилась опасность подвергнуться заражению вредоносным ПО, которое кто-то из локальных пользователей мог, например, сохранить в общих папках.
В целом настройка такой конфигурации не представляет большой сложности для опытных системных администраторов и позволяет значительно повысить безопасность локальной сети.
Комментарии (10)
Francyz
22.11.2022 14:08+1Пользователь смартсофт пишет:
К сожалению, настройка OSPF никак не представлена в официальной документации TING. Попробуем частично устранить этот недостаток.
Но, я бы на самом деле попробовал бы его устранить не частично, а целиком, путем написания официальной документации.
BigD
22.11.2022 15:20А это другой zerotier, не https://www.zerotier.com ?
SupportSmartSoft
22.11.2022 16:32Добрый день, в статья была допущена опечатка, вместо zerotier используется os-frr. Опечатку мы уже поправили
Mnemonic0
22.11.2022 17:48+1Отличный бизнес. Взять pfsense, накатить на него свой дизайн, заказать у китайцев коробочку и продавай под видом импортозамещения дорого. Прямо на менюшке конфигурирования интерфейса всё видно, как последовательность, так и пункты меню.
Ой, совпадение, для реализации OSPF также требуется FRR плагин.
И наверняка как настоящий NG Firewall умеет смотреть сессии и не требует входящий правил дял трафика, а проверяет разрешённый исходящий трафик и после чего разрешает или нет обратный входящий?
А может и AppID есть?
Ой, о чём это я. Совсем не прав: https://ru.wikipedia.org/wiki/Traffic_Inspector
Traffic Inspector Next Generation - новое поколение ПО Traffic Inspector. Является форком open-sourсe решения OPNsense и использует операционную систему FreeBSD в качестве среды выполнения.
Форк open-sourсe OPNsense, упакованный в коробочку, проданный здесь за 1-3ляма.
Smart_Soft Автор
22.11.2022 19:55Ой, не всё так просто. "Взяли" в соответствии с лицензионными условиями, поделились и продолжаем делиться результатами своей работы с сообществом: https://habr.com/ru/company/smart_soft/blog/350964/
vladislavmechman
23.11.2022 10:18Так в целом же нет никаких проблем использовать опенсорсные решения, с опенсенса миграция на тинг вообще бесшовная практически, да и на тинг дают какую-то долгосрочную лицензию на тест
Thomas_Hanniball
А зачем watermark ставить на скриншоты?
Smart_Soft Автор
Просто мы очень любим логотип ТИНГа :)