Fortigate и его друзья (ipsec tunnel between fortigate and MikroTik router) | NetConfig

Fortigate и его друзья (ipsec tunnel between fortigate and MikroTik router)

Подготовлен – значит вооружен, по крайней мере если это касается изучения для себя чего-то нового, ведь не известно какие могут возникнуть задачи по соединению двух удаленных точек, и какие подводные камни могут помешать реализовать туннель вовремя. В общем я попробовал, мне понравилось 🙂 и решил изложить результат.

Используем простейшую топологию, чего достаточно для реализации ipsec туннеля.

Настройки сети Fortigate:

Настройки сети MikroTik:

Настройка FORTIGATE

Переходим к созданию туннеля на Fortigate.

Даем название интерфейсу и переходим к ручной настройке.

По факту, со стороны Fortigate мы конфигурируем сервер и идентифицируем клиентов по ID, также важно чтобы сошлись обе фазы и общий ключ.

Здесь мы указали :

Remote Gateway – подключающиеся клиенты (Dialup User)

Interface – наш внешний интерфейс

NAT Traversal – включаем инкапсуляцию трафика (NAT-T)

Dead Peer Detection – включение механизма обнаружения простоя соединения (DPD)

Далее указываем:

Method – метод проверки

Pre-shared Key – значение общего ключа, как пример “5^PLDAsdf’!856d)”

Version – версия набора протоколов (IKE)

Mode – режим подключения

Accept Types разрешенный тип ID клиента (все, один или группа)

Peer ID – значение ID клиента

В поле Peer ID мы указали явный идентификатор клиента, именно такой же идентификатор мы зададим на MikroTik.

Переходим к первой фазе:

В профиле установим протокол шифрования, проверки подлинности, версию DH и время его жизни (Phase 1):

Encryption – DES

Authentication – SHA1

Diffie-Hellman Group – 5

Key Lifetime – 86400

Отключаем механизм расширенной аутентификации (XAuth)

Вторая фаза:

Тут все немного веселее, а именно:

Local Adressобьявляем локальную сеть, подключенную к маршрутизатору

Remote Addressобьявляем сеть, находящуюся по ту сторону туннеля

На основании этих двух полей формируется политика, которая организовывает маршрут между нашей локальной сетью и сетью, за MikroTik, в следствии этого в системе появляется статический маршрут, но об этом немного позже.

Дальше указываем шифрование, аутентификацию и версию протокола Диффи-Хеллмана (DH)

Соответственно:

Encryption – DES

Authentication – SHA1

Diffie-Hellman Group – 5

Шифруем весь трафик, попадающий в туннель, так:

Local Port – ALL

Remote Port – ALL

Protocol – ALL

И наконец оставшиеся параметры:

Enable Replay Detection – Функция обнаружения повторяющихся пакетов

Perfect Forward Secrecy – Функция генерации ключей DH по истечении Key Lifetime

Key Lifetime – время жизни ключа

Seconds – значение “Key Lifetime” в секундах

Более подробно о второй фазе (Phase 2) 

Для беспрепятственного прохождения трафика из туннеля в локальную сеть и назад необходимо создать в меню Policy & objects > IPv4 Policy несколько сетевых политик:

Настройка MikroTik

Начнем с меню IP > IPsec :

Так выглядит подготовка первой фазы: на вкладке “1 – Profiles” создаем профиль, в котором выбирает точно такие же параметры как при настройке первой фазы на Fortigate.

На кладке “2 – Peers” создаем peer с указанием  внешнего адреса Fortigate (vpn-server), применяем ранее созданный профиль и указываем агрессивный режим подключения.

На вкладке “3 – Identities” выбираем из списка ранее созданный peer, метод аутентификации – pre shared key, и значение этого ключа. Поля “My ID Type” и “My ID” сконфигурированы для идентификации со стороны Fortigate, при установке соединения. Остальные поля, как я понимаю, функционируют в случае реализации vpn-сервера на MikroTik.

Продолжим настройкой второй фазы:

Тут тоже все стандартно.

И изюминкой всего этого будет создание политики, на основании которой будет маршрутизироваться трафик, policy-based vpn ЖЫЖ!!!

Создаем политику на вкладке “5 – Polices”, в меню “General”

для всего трафика “Protocol – 255(all)”

указываем локальную сеть (Src. Address)

удаленную сеть (Dst. Address) соответственно.

Выполнять ее по условиям, описанным на вкладке “Action”, то есть при установке туннеля между нашими двумя маршрутизаторами с применением параметров второй фазы, сознанной ранее в “4 – Proposals”

Все параметры IPsec описаны на https://wiki.mikrotik.com.

Добавим несколько правил в фаервол : IP > Firewall > Filter rules :

Тем самым разрешив транспорт для ipsec (esp), инкапсуляцию трафика (4500/UDP) и управление шифрованием (500/UDP).

И в IP > Firewall >NAT :

Разрешаем трансляцию адресов между подсетями.

Дебаг/Мониторинг

Инструменты мониторинга состояния туннеля и просмотра логов находятся в стандартных местах.

На Fortigate состояние туннеля:

Логи событий vpn :

А это маршрут, который появился сам, после поднятия туннеля:

На MikroTik состояние туннеля:

Более информативно можем посмотреть добавив правило логирования:

И в меню “Log” :

Вариант реализации изложен, любопытство победило лень!




Fatal error: Uncaught Error: Call to undefined function wp_related_posts() in /home2/netconfi/public_html/wp-content/themes/theme/single.php:56 Stack trace: #0 /home2/netconfi/public_html/wp-includes/template-loader.php(106): include() #1 /home2/netconfi/public_html/wp-blog-header.php(19): require_once('/home2/netconfi...') #2 /home2/netconfi/public_html/index.php(17): require('/home2/netconfi...') #3 {main} thrown in /home2/netconfi/public_html/wp-content/themes/theme/single.php on line 56