Настройка GRE over IPSEC на Микротик

В данной статье поговорим как настроить GRE туннель over IPSEC на роутере Микротик. Но сначала немного теории, GRE – это туннельный протокол разработанный компанией Cisco. Основная задача – инкапсуляция большого количества протоколов через виртуальный point-to-point линк. Работает на сетевом уровне TCP/IP и не имеет порта. Для лучшего понимания можно провести аналогию его с протоколами без отслеживания состояния, а именно IPIP и EoIP.
Это означает, что, если ваш линк на одной из сторон упадет, вы не сможете этого понять, находясь на другой стороне – это классика. Но компания Mikrotik добавила компонент keepalive. Теперь можно отслеживать состояние линка отправляя тем самые keepalive запросы. Отсутствует шифрование по понятным причинам, но это не беда, ведь у нас есть IPSEC. GRE туннель может пересылать только IPv4 и IPv6 пакеты. Не используйте «Check gateway» опцию «arp».
В своей практике, данное решение использую крайне редко, хоть он и используется в PPTP.
Взглянем на обычный IP пакет.
обычный IP пакет
Теперь посмотрим с GRE.
GRE пакет
И еще с IPSEC в туннельном режиме.
IPSEC пакет
РЕКОМЕНДАЦИЯ
Наша команда советует изучить углубленный курс по администрированию сетевых устройств MikroTik.
В курсе много лабораторных работ по итогам которых вы получите обратную связь.
После обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.

Схема сети

схема сети
Используем лабораторный стенд с Mikrotik CHR версии 6.46.3 на борту. Мы находимся справа внизу в офисе SPB (Office-SPB). Вводные данные:
  • Office-SPB GRE пир;
  • Office-Moscow GRE пир;
  • NetworkCore выполняет роль провайдера, он будет заниматься обычной маршрутизацией;
  • Office-Moscow ether1 смотрит в интернет 172.16.10.2/24;
  • Office-SPB ether1 смотрит в интернет 172.16.11.2/24;
  • Office-Moscow имеет bridge “General-Bridge” в локальной сети 192.168.11.1/24;
  • Office-SPB имеет bridge “General-Bridge” в локальной сети 192.168.10.1/24;
  • Адресация сети в туннеле 172.16.25.0/24.

Настройка GRE

Первым шагом рассмотрим простую настройку gre туннеля. Вся она будет одинакова на обоих роутерах. Подключившись к нажим железкам через Winbox и перейдем в Interfaces – GRE Tunnel.
меню интерфейсов GRE
Создадим по интерфейсу. Укажем следующие параметры:
  • Name – понятное имя;
  • Remote Address – адрес соседа по туннелю. Основной принцип — направляем роутеры друг на друга;
Keepalive – тот самый параметр отслеживания состояния. Можно ничего не менять. Он означает следующее – если в течении 10 попыток по 10 секунд не отвечает удаленная сторона, считать туннель не активным.
настройка соединения
Сохраняем настройки и смотрим на состояние.
проверка туннеля
Как мы видим, интерфейс в состоянии running. Назначим адреса. Переходим в IP – Addresses.
задаем IP адрес на интерфейс
Зададим адрес 172.16.25.1 для московского роутера и 172.16.26.2 для питерского.
параметры адресов для офисов
Для проверки связи запустим ping запросы.
проверка связи внутри туннеля
Пинги идут – все хорошо. Далее пропишем маршруты в локальные сети. Открываем IP – Routes на московском.
список маршрутов
Добавляем новый маршрут:
  • Dst. Address – 192.168.10.0/24;
  • Gateway – 172.16.25.2.
указываем параметры маршрута
Сохраняем и проделываем аналогичную операцию только на питерском роутере.
создаем маршрут в удаленном офисе
Основной принцип – прописать маршруты в сети через адреса в туннелях. Проверим ping до адреса бриджа Mikrotik в Москве.
проверка связи между сетями
Все отлично – значит мы правильно сделали. В целях демонстрации я отключу интерфейс в Москве, выжду интервал в 100 секунд и посмотрим на состояние туннеля.
отключаем GRE интерфейс
Интересная ситуация, в одном офисе интерфейс активный, а в другом нет. Попробуем проверить связь.
проверка связи после падения канала
Пингов нет, а туннель активен. Спустя какое-то время, Mikrotik в Питере понимает, что связи через gre туннель нет и меняют статус на интерфейсе.
автоматическое отключение туннеля
Тут-то и помогла доработка Mikrotik с keepalive. К чему этот эксперимент спросите вы? Во-первых – для демонстрации, во-вторых – если есть те, кто еще используют данный протокол для своих задач, имейте ввиду, что маршруты в routes буду активны то время, которое вы указали в keepalive. Только по истечении этого времени маршруты и адрес станут не активны.

Настройка GRE IPSEC

Более подробно с IPSEC можно познакомиться в одной из наших статей. Напомню только то, что нам необходимо вернуть московский в состояние активный и дождаться установки соединения. Далее переходим в настройки интерфейса и меняем следующие параметры:
  • IPsec Secret – общий ключ (пароль);
  • Allow Fast Path – снимаем галочку.
включаем IPSEC на GRE интерфейсе
Сохраняем и проверяем.
проверка согласования
Указав общий ключ, наши микротики согласуют стандартный IPSEC (не IKEv2) и инкапсулирует в него GRE. На этом настройка завершена. Спасибо за внимание и не забываем про safe mode.
РЕКОМЕНДАЦИЯ
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в углубленном курсе «Администрирование сетевых устройств MikroTik». В курсе много практических лабораторных работ по результату выполнения которых вы получите обратную связь. После окончания обучения вы получите диплом гос. образца РФ. Подробности и доступ к началу курса бесплатно тут.