Подготовлен – значит вооружен, по крайней мере если это касается изучения для себя чего-то нового, ведь не известно какие могут возникнуть задачи по соединению двух удаленных точек, и какие подводные камни могут помешать реализовать туннель вовремя. В общем я попробовал, мне понравилось 🙂 и решил изложить результат.
Используем простейшую топологию, чего достаточно для реализации ipsec туннеля.
Настройка 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 клиента
Переходим к первой фазе:
В профиле установим протокол шифрования, проверки подлинности, версию 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 состояние туннеля:
А это маршрут, который появился сам, после поднятия туннеля:
На MikroTik состояние туннеля:
Более информативно можем посмотреть добавив правило логирования: