Ниже преведён пример настройки L2TP/IPsec туннеля между двумя роутерами Mikrotik.
Настройки первого роутера:
WAN интерфейс — ether1
WAN IP — 10.0.0.101/24
LAN интерфейс — bridge-local
LAN IP — 192.168.10.0/24
Настройки второго роутера:
WAN интерфейс — ether1
WAN IP — 10.0.0.102/24
LAN интерфейс — bridge-local
LAN IP — 192.168.20.0/24

Материал из MikroTik Wiki
В статье разбирается настройка L2TP- и L2TP/IPSec-туннеля на оборудовании MikroTik с целью подключения рабочего места сотрудника (client-to-site VPN). После создания VPN-канала между сетями будет работать маршрутизация и будет выполнена проверка работоспособности. Также будут разобраны типичные проблемы, которые могут возникнуть в процессе настройки и проверки.
Ранее мы писали про установку и базовую настройку Mikrotik CHR на виртуальные серверы. В этой статье мы выполним настройку VPN-сервера на базе Cloud Hosted Router и подключим клиентские устройства к настроенному VPN.
При написании данной статьи использовался облачный сервер со следующими характеристиками:
- 1 vCPU;
- 512 МБ RAM;
- 5 ГБ быстрый диск.
Операционной системой выбрана актуальная на момент написания статьи Stable-версия RouterOS: 6.47.6. Мы предполагаем, что читатель уже установил MikroTik CHR и провел первичную настройку.
Несмотря на то, что в статье описана настройка на Cloud Hosted Router, эта инструкция может использоваться и для физических маршрутизаторов с RouterOS.
В этой статье мы покажем, как сделать настройку L2TP Server с IPSec на MikroTik. Постараемся детально описать все нюансы и тонкости конфигурирования.
На сегодняшний день есть множество способов организовать VPN, но на мой взгляд L2TP является оптимальным выбором, так как данный протокол существует во всех ОС и имеет ряд преимуществ о которых мы поговорим ниже.
Настройка L2TP MikroTik для многих может оказаться не такой уж и простой задачей. Давайте разберемся на практике, так ли это сложно?
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Протокол L2TP не предоставляет механизмов шифрования, поэтому рассмотрим связку L2TP IPSec для подключения удаленных устройств к корпоративной сети. Узнаем как выполнить настройку туннеля L2TP IPSec между MikroTik, что позволит объединить офисы по данной технологии.
L2TP — это туннельный протокол служащий для организации виртуальных частных сетей, объединивший в себе лучшие функции протоколов PPTP (Microsoft) и L2F (Cisco).
IPSec – это набор протоколов служащий для шифрования, аутентификации и обеспечения защиты при отправке IP-пакетов. Основное применение нашел при организации VPN-соединений.

Редактируем параметры easy-rsa OpenVPN.
После установки идем в папку с программой, в каталог easy-rsa

и открываем с помощью блокнота файл vars.bat.sample, редактируем его.
Если мы создаем дубликат папки easy-rsa (а в этом есть смысл) и работаем в нем, то необходимо отредактировать строку, прописав в ней новый путь к папке:
set KEY_SIZE=1024 можно поменять на 2048 (как сказано в комментариях в файле — если вы параноик), но учтите, что производительность уменьшится.
Далее редактируем следующие строки, проставляя в них актуальные для себя значения (пустыми параметры оставлять нельзя):
Последние два параметра можно не менять.
После чего сохраняем файл под именем vars.bat.
Если при сохранении vars.bat в этом же каталоге система выдает ошибку:

то сохраните файл вначале на рабочем столе, а потом перенесите в этот каталог.
Выполняем генерацию сертификатов для OpenVPN под MikroTik.
Работаем в командной строке Windows (cmd), запустив ее от имени администратора.
Переходим в нужный каталог: cd «C:Program FilesOpenVPNeasy-rsa»
Набираем команду vars и жмем энтер.
Набираем команду clean-all и жмем энтер.

Если мы видим надпись, как на изображении — «Скопировано файлов — 1.», значит, все сделано правильно.
Набираем команду build-ca. Программа начинает генерацию публичного сертификата OpenVPN и запрашивает у нас значения параметров. Если на вопрос в командной строке мы просто жмем энтер, то программа подставляет значения по умолчанию, которые мы вписали в файл vars.bat. Останавливаемся, когда снова появляется строка

Даем команду на генерацию сертификата сервера OpenVPN для MikroTik: build-key-server имя_сертификата. В нашем случае пишем
build-key-server server, на вопрос «Sign the certificate?» отвечаем y, точно также на вопрос «1 out of 1 certificate requests certified, commit?», на остальные просто жмем энтер.


Все, теперь в папке C:Program FilesOpenVPNeasy-rsakeys лежат все созданные ключи и сертификаты OpenVPN.

Время на прочтение
Эта статья о том, как перестать мучиться с сертификатами для IKEv2-RSA и их установкой.
В Интернете есть множество статей и видео по настройке аутентификации IKEv2 с использованием сертификатов. Главная проблема такой конфигурации — необходимость генерации множества сертификатов, доставки и установки их на каждое клиентское устройство. Довольно замороченный процесс, согласитесь?
В седьмой версии RouterOS появились очень полезные функции, которые позволяют превратить MikroTik в полноценный VPN‑сервер. Среди того, что существенно облегчает жизнь админу для нашей задачи очень подходят два новшества:
Теперь, для отдельно взятого vpn‑сервера MikroTik больше не требуется сторонний генератор и установщик сертификатов. Механизм запроса и установки действительного сертификата от Let’s Encrypt позволяет сделать это за несколько секунд. Встраиваемый Radius‑сервер решает проблему отсутствия такового в небольшой локальной сети или невозможности использования по иным причинам.
- Важное уточнение по сертификатам от Let’s Encrypt в составе ОС.
- Схема сети
- Простая настройка
- Site to site
- Настройка firewall
- 89 вопросов по настройке MikroTik
- Mikrotik. Настройка L2TP Server
- Настройки L2TP-сервера на первом роутере
- Шаг 4. Запускаем сервер L2TP
- Настройка филиала (L2TP Client)
- Настройки файрвола
- Полезные материалы по MikroTik
- Зачем
- Настройка клиента OpenVPN
- Шаг 5. Тюним IPsec
- Настройка туннеля L2TP + IPSec на Mikrotik (site-to-site). Объединяем два офиса
- Настройка Mikrotik L2TP Server. Главный офис
- Настраиваем Secret
- Включаем L2TP Server и IPSec
- Создаем интерфейс
- Настройка MikroTik RouterOS. Подготовка
- Получение и установка дополнительного пакета user-manager на MikroTIk
- Настройка IKEv2
- Настройки IPsec-сервера на первом роутере
- Настройки L2TP-клиента на втором роутере
- Настройки IPsec-клиента на втором роутере
- Настройка маршрутизации межу офисами
- Установка сертификатов OpenVPN и настройка сервера на MikroTik
- Шаг 7. Настраиваем клиента Windows
- Проверка
- Подключаем клиента windows.
- Скрипт для IPsec-клиентов с динамическим IP-адресом
- Шаг 2. Профиль для VPN-подключения
- Шаг 3. Секреты
- Настройка подключения на стороне клиента
- Настройка маршрутизации L2TP-клиента
- Шаг 6. Файрволл
- Шаг 1. Диапазон адресов клиентов
- Настройка L2TP Server + IPSec на Mikrotik (client-to-site)
- Создаем пул адресов
- Профиль подключения
- Создание пользователя
- Заключение
Важное уточнение по сертификатам от Let’s Encrypt в составе ОС.
Необходимо убедиться, правильно ли на клиенте установлены действующие сертификаты от Let’Encrypt. Это важно не только для нашей задачи, но и для корректной работы других служб и приложений использующих сертификаты.
Дело в том, что цепочка доверия Let’s Encrypt выглядит на сегодня так:

Иерархия сертификатов Let’s Encrypt
Все автоматически выдаваемые клиентам‑микротикам сертификаты подписаны от имени R3.В клиентской ОС Windows сертификат R3 обязательно должен быть установлен как «промежуточный доверенный центр сертификации» в хранилище КОМПЬЮТЕРА (Local Machine). Самая распространенная проблема при импорте сертификата обычно находится в метре от ПК и кликает «мышкой». ОС Windows по‑умолчанию пытается данный сертификат установить в хранилище пользователя, что ведет к проблемам доступа.

Выбор правильного хранилища для сертификата
- Внешний IP (FQDN): gw1.mt-courses.ru
- Локальная сеть: 10.10.4.0/24
- Адреса для ikev2-клиентов: 192.0.2.0/24
- Маршрутизатор под управлением MikroTik RouterOS версии 7.x
Это продолжение предыдущих двух статей (Первая) и (Вторая) в которых мы показали как настроить L2TP на MikroTik без IPSec, теперь же прикрутим его к нашей конфигурации.
IPSEC – это целый набор протоколов, обеспечивающих защиту данных IP через сеть интернет. Несомненно, он один из самых безопасных реализаций VPN, но ложкой дегтя является сложность настройки. Некоторые модели RouterBOARD имею встроенные чипы разгрузки для алгоритмов AES, это сделано для того, чтобы не нагружать центральный процессор сложной обработкой. Ознакомиться более подробно со списком оборудования поддерживающих аппаратную разгрузку можно на сайте mikrotik.com.
В нижеизложенной инструкции будет продемонстрировано конфигурирование классического IPSEC, а не IKEv2. На основе предыдущих статей я покажу два режима настройки L2TPIPSec в транспортном режиме на роутере микротик. По сложившейся практике предпочтительно делать именно в транспортном режиме, т.к. удобнее прописать маршруты в локальные сети через адреса в туннелях вместо создания NAT правил. В добавок про NAT отмечу, что IPSEC-у становится дурно, когда он проходит через него. Не плохо реализована поддержка NAT-T. Взяв во внимание вышеизложенную информацию приступим.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.
Схема сети

Используем лабораторный стенд с Mikrotik CHR версии 6.46.2 на борту. Мы находимся справа внизу в офисе SPB (Office-SPB). Вводные данные:
- Office-SPB сервер;
- Office-Moscow клиент;
- 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;
- IP ПК в локальной сети Office-Moscow 192.168.11.2;
- IP ПК в локальной сети Office-SPB 192.168.10.2;
- Адресация в VPN сети 172.16.25.0/24;
- Активный L2TP туннель между офисами.
Простая настройка
Предполагает быстрое развертывание на сервере и клиенте. Она более всего подходит для инсталляций, когда вы планируете чтобы к вам подключалось много мобильных устройств или устройств находящихся за NAT-ом. На московском роутере проверим состояние клиентского подключения. Переходим PPP – Interface – SPB-Office – Status.

С соединением все в порядке. В строке Encoding видим стандартное шифрование протокола L2TP. Открываем свойства сервера L2TP. Ставим required на параметре Use IPsec и указываем пароль.
Сохраняем. Клиентское соединение пропадает, т.к. теперь мы требуем согласование протокола IPSEC. Видим соответствующее сообщение в логах сервера. Оно говорит о том, что подключение было отброшено.

Если вы установите значение Use IPsec в yes, то все желающие подключиться без использования IPSEC – подключатся.
Подключаемся к клиентскому Mikrotik в Питере, открываем PPP – Interface – выбираем интерфейс to-MSC и открываем вкладку Dial Out. Ставим галочку на UseIPsec и задаем пароль, установленный на сервере.

После нажатия кнопки Apply проверим состояние подключения на вкладке Status.

Строка Encoding изменилась на более внушительное значение, что символизирует об успешном согласовании.
Site to site
Все настройки находятся в IP – IPSEC. Данный метод предназначен для развёртывания между удаленными площадками. Обязательным условием является наличие статических публичных адресов для обоих участников туннеля. Параметры идентичны, за исключением маленьких деталей. Отлично подходит для голосового трафика, т.к. все данные будут инкапсулированы в UDP. Запасаемся терпением и вниманием. Надеюсь, что все помнят простое правило по неиспользованию стандартных профилей. Создаем одинаковый профиль на обоих устройствах.

Далее создаем предложения.

Далее нужно создать пиров. Направляем их друг на друга и указываем раннее созданные профили. Пишем в поле Local Address тот адрес роутера, с которого хотите инициировать соединение. Это особенно актуально если у вас их несколько или нужно инициировать соединение с определенного. Т.к. у нас всего по одному адресу – укажем их.

Далее создаем группы.

Еще не все. Следующий пункт — Identity.

И вишенкой на торте Policies. На вкладке General указываем адреса источника и назначения. Соответственно направляем друг на друга. 1701 это UDP порт L2TP.

Переходим в Action. Обязательно выбираем параметр Level в unique. Особенно полезно будет для тех, кто планирует много шифрованных туннелей.

Сохраняем и проверяем.

Established в конце строки пира SPB означает что согласование прошло успешно и оно устоялось. Откроем Installed SAs и посмотрим на наши ключики.

Все как мы и заказывали. Ну и наконец проверим наше L2TP соединение. Все должно зашифроваться без переподключений.

Настройка firewall
Тут также, как и с предыдущим пунктом. Настраиваем одинаково с обоих сторон. Нужно отредактировать созданные правила на московском роутере, а на питерском создаем с нуля аналогичные. В первом правиле кроме порта для L2TP добавляем еще два:

Создадим еще одно правило для IPSEC-ESP.

Перемещаем его над последним правилом.

Повторив параметры фаервола на питерском роутере, обязательно проверьте что соединение L2TP подключается и шифруется соответствующими алгоритмами. На этом мы закончили цикл статей про настройку L2TP клиента и сервера как с IPSec так и без него. Если у вас остались вопросы задавайте из в комментариях а лучше в группу Теллеграмм.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
Mikrotik. Настройка L2TP Server
Рассмотрим детальную настройку двух видов туннелей L2TP + IPSec:
Настройки L2TP-сервера на первом роутере
1. Создаем пул адресов для транзитной сети (здесь 192.168.254.0/26)
/ip pool
add name=l2tp-pool ranges=192.168.254.2-192.168.254.62
2. Создаем PPP-профиль для подключения, шифрование включать не нужно, т.к. будет использоваться IPsec
/ppp profile
add change-tcp-mss=yes local-address=192.168.254.1 name=l2tp remote-address=l2tp-pool
3. Заводим PPP-аккаунт для клиента
/ppp secret
add name=client1 password=secret1 profile=l2tp service=l2tp
3. Настраиваем и включаем L2TP-сервер
/interface l2tp-server server
set authentication=mschap2 default-profile=l2tp enabled=yes keepalive-timeout=15 max-mru=1418 max-mtu=1418
Шаг 4. Запускаем сервер L2TP
Здесь просто убедимся, что у нас запущены соответствующие
сервисы. Заходим в 2 и
убеждаемся в наличии соответствующих настроек:

Здесь, кстати, важный нюанс – для шифрования будем
использовать . Серьёзных
уязвимостей протокол не имеет, поэтому этого нам будет достаточно. Нужно
указать предварительный ключ – в примере на скрине это слово «». Можно придумать что-нибудь
посекурнее, например «123» или «»
— каждый решает сам
Настройка филиала (L2TP Client)
Создадим свой профиль для подключения:
На вкладке «General» укажем имя профиля:
Далее откроем вкладку «Protocols», установим обязательное шифрование:
- Use Encryption: Yes;
- OK.
Добавляем L2TP Client:
Вкладка «Dial Out»:
- Password – пароль учетной записи;
- Profile – профиль подключения созданный в предыдущем шаге;
- Устанавливаем галочку на пункте Use IPSec, активируя набор протоколов шифрования;
- IPsec Secret – вводим ключ шифрования IPSec как на сервере;
- В разделе Allow оставляем метод аутентификации mschap2.
Ждем некоторое время. Если мы все сделали правильно, то увидим букву “R” слева от имени подключения:
Статус туннеля можем посмотреть, зайдя в настройки интерфейса:
Здесь мы видим дату и время, когда туннель поднялся (Last Link Up Time), количество разрывов соединения (Link Downs), время жизни соединения (Uptime), метод шифрования (Encoding) и другие параметры.
Осталось настроить маршрутизацию между подсетями.
Настройки файрвола
Сервер должен принимать:
UDP:1701 — L2TP, но только по IPsec
UDP:500 — IPsec, установление соединения
UDP:4500 — IPsec, для обхода NAT
IP протокол 50 — IPsec ESP
Отмечаем ESP пакеты, L2TP будем принимать только в них
/ip firewall mangle
add action=mark-packet chain=input new-packet-mark=esp protocol=ipsec-esp
/ip firewall filter
add chain=input comment=L2TP dst-port=1701 packet-mark=esp protocol=udp src-address=10.0.0.102
add chain=input comment=IPSEC-NAT dst-port=4500 protocol=udp src-address=10.0.0.102
add chain=input comment=IPSEC dst-port=500 protocol=udp src-address=10.0.0.102
add chain=input comment=IPSEC protocol=ipsec-esp src-address=10.0.0.102
Клиенту достаточно принимать пакеты в состоянии established
Полезные материалы по MikroTik
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. В апреле и мае 2023 будут разбираться темы Wi-Fi и QoS. Подписывайтесь
Зачем
Организация VPN-подключений может использоваться в различных сценариях:
- Подключение удалённых клиентов к корпоративной сети (работа на дому, из командировок).
- Объединение сегментов локальной сети двух офисов, находящихся на удалении.
Несмотря на великое множество различных протоколов и типов VPN, применительно к Mikrotik чаще всего используется связка L2TP + IPsec, т.к. для клиентов на основе Microsoft Windows не требуется установка дополнительного программного обеспечения (в отличие от OpenVPN, например), что существенно облегчает интеграцию пользователей, не обладающих высоким навыком работы на компьютере.
Итак, настраиваем сервер и клиент L2TP + IPsec.
Настройка клиента OpenVPN
Если мы не используем клиентские сертификаты (в настройках сервера не отмечали галочкой пункт require-client-certificate), то настроить клиент OpenVPN будет быстрее и проще. Нам не нужно будет копировать сертификаты для клиента, только создать в меню PPP — Interfaces новую запись OVPN Client и и на вкладке Dial Out прописать:
- адрес OpenVPN сервера (поле Connect To),
- тип аутентификации и шифрования (поля Auth и Cipher).
Если мы используем сертификаты, читаем дальше.
Настройка второго роутера Микротик как клиента OpenVPN.
Так же, как и при настройке сервера, копируем из папки C:Program FilesOpenVPNeasy-rsakeys и вставляем в файлы сертификатов и ключей OpenVPN. Только теперь это будут:
- ca.crt,
- client.crt,
- client.key.

Далее настраиваем соединение, практически так же, как и в случае без сертификатов. Создаем в меню PPP — InterfacesOVPN Client и и на вкладке Dial Out
- адрес OpenVPN сервера (поле Connect To),
- тип аутентификации и шифрования (поля Auth и Cipher).

Все, осталось проверить, поднялось ли соединение.
Настройка клиента OpenVPN в Windows.
Копируем ранее созданные нами файлы папки C:Program FilesOpenVPNeasy-rsakeys в каталог C:Program FilesOpenVPNconfig.
Файл сохраняем. Запускаем OpenVPN GUI (исполняемый файл лежит в папке C:Program FilesOpenVPNin)
Запускаем обязательно от имени администратора!
Шаг 5. Тюним IPsec
Важнячок: «из коробки» мой глючил и
не давал подключиться. Решение было такое: идём в – и
создаём новую группу в разделе .
А потом на вкладке «»
добавить политику, указав нашу новую группу в качестве шаблона. Видимо какой-то
глюк, но с ним многие сталкивались.


Включить L2TP-сервер. Не смотря на то, что L2TP не несет в себе нормального шифрования, лучше оставить только аутентификацию «mschap2» как наиболее надежную.
Создать пул адресов для VPN-подключений:
Создать профиль для VPN подключений. Указать адрес сервера DC1, который является DNS и WINS сервером. Без указания DNS и WINS VPN-подключение произойдет, но не будет возможности обращаться к узлам по именам.
Добавить аккаунт пользователя:
На интерфейсе маршрутизатора, который смотрит в локальную сеть включить arp-proxy. Это нужно для того, чтобы удаленный клиент мог связываться с локальными хостами:
Создать профиль IPSec для подключения клиента (адрес 0.0.0.0/0 т.к. удаленный адрес клиента неизвестен):
/interface l2tp-server serverset authentication=mschap2 enabled=yes
/ip pooladd name=vpn-pool ranges=172.16.30.102-172.16.30.253
/ppp profileadd name=»L2TP client-to-site» change-tcp-mss=yes local-address=172.16.30.101 remote-address=vpn-pool dns-server=192.168.15.10 wins-server=192.168.15.10
/interface ethernetset ether1-LAN1 arp=proxy-arp
Настройка туннеля L2TP + IPSec на Mikrotik (site-to-site). Объединяем два офиса
Попробуем объединить два офиса фирмы в одну виртуальную частную сеть (VPN) используя туннельный протокол L2TP в связке с IPSec на оборудовании Mikrotik.
Из схемы мы видим, что Mikrotik в главном офисе (GW1), будет настроен на роль L2TP Server + IPSec, со следующими настройками:
- Внешний IP (WAN): 111.111.111.111;
- Адрес в LAN сети: 192.168.13.254.
MIkrotik в филиале (GW2) будет являться VPN-клиентом с настройками:
- Внешний IP (WAN): 222.222.222.222;
- Адрес в LAN сети: 192.168.12.254.
Приступаем к настройке.
Настройка Mikrotik L2TP Server. Главный офис
У Mikrotik в меню PPP есть два профиля по умолчанию, которые используются для PPP соединений. Рекомендуется не изменять профили по умолчанию, а создать и использовать под свою задачу новый.
В окне New PPP Profiles, открыв, вкладку “General” укажем информацию:
- Name: l2tp-site-to-site;
- Local Address: 192.168.77.1;
- Remote Address: 192.168.77.10.
Рекомендуем для туннеля вида Site-to-Site назначить статические IP.
- произвольное имя для профиля(Name);
- присвоили IP для L2TP-Сервера (Local Address);
Настраиваем Secret
На вкладке «Secrets» мы настраиваем имя, пароль и профиль подключения для L2TP-Клиента. Для этого выполним действия:
- Name: office;
- Password: qwas1234;
- Profile: из выпадающего списка выбираем ранее созданный профиль (l2tp-site-to-site).
Рекомендуем придумывать сложные пароли. Минимум 12 символов разного регистра с использованием спец. символов.
Включаем L2TP Server и IPSec
Следующим шагом включим L2TP Server на Mikrotik указав профиль, метод аутентификации и ключ шифрования для IPSec. Выберем пункт меню Interface, настроим как показано на рисунке ниже:
Не забываем придумывать сложные пароли.
Создаем интерфейс
Создадим статический интерфейс L2TP Server Binding. Это позволит избежать проблемы с маршрутизацией между сетями, которые могут возникнуть при разрыве соединения.
Заполним открывшееся окно New interface. Вкладка «General»:
Добавим правила в наш файрвол, тем самым разрешая трафик для L2TP, два правила для IPSec и протокол Ipsec-esp:
Добавим разрешающее правило для L2TP, который работает на 1701(UDP) порту:
Добавим правило для UDP портов 4500, 500:
Разрешим протокол IPsec-esp:
Очень важен порядок расположения правил. Ваш firewall после настроек должен выглядеть примерно следующим образом:
Для более глубокого понимания работы брандмауэра рекомендуем ознакомиться со статьей MikroTik настройка firewall.
На этом настройка L2TP Server Mikrotik закончена, перейдем к настройке клиентской части (филиала).
Настройка MikroTik RouterOS. Подготовка
Необходимые условия: на роутере должен быть открыт и доступен извне порт http (tcp:80). По‑умолчанию, на этом порту работает служба webfig. Доступ к ней извне всем подряд оставлять крайне НЕ рекомендуется, так что можно открывать порт только в момент генерации/обновления сертификата.
Также желательно наличие FQDN связанного с внешним IP вашего MikroTik. Например, gw1.mt‑courses.ru.
Скрипт получения сертификата:
Flags: K — PRIVATE‑KEY; A — AUTHORITY; I, R — REVOKED; T — TRUSTEDColumns: NAME, COMMON‑NAME
0 K T letsencrypt‑autogen_2023–xx–xxThh:mm:ssZ gw1.mt‑courses.ru
Получение и установка дополнительного пакета user-manager на MikroTIk

Обратите внимание, чтобы номер версии пакета точно соответствовал установленной версии RouterOS! Невозможно установить пакеты версии, отличающейся от версии установленной на роутере операционной системы.

Содержимое архива extra-packages
Данный файл необходимо извлечь из архива, скопировать в корень файловой системы маршрутизатора MikroTik и произвести перезагрузку (/system reboot ).

Настройка IKEv2
Теперь переходим к самому основному, собственно настройке VPN‑сервера доступа по протоколу IKEv2. Поскольку при подключении клиента, ему выделяется некий виртуальный IP‑адрес, то сначала нам необходимо создать пул адресов для подключаемых клиентов:
/ip/pool add name=vpn-pool ranges=192.0.2.1–192.0.2.254
Переходим непосредственно к настройке IPSec. Настройка IPSec требует создания нескольких сущностей:

Пункты настройки IPSec в меню Winbox
Group используется как тег для связывания Identity и Policy Template для генерации индивидуальных Policy из шаблона (template) при подключении клиента. По сути, Identity, это то, что собирает во едино все настройки, когда клиент подключится к серверу. По этому Identity настраивается в последнюю очередь, когда остальные параметры созданы.
Здесь хочу дать вам совет: Никогда. Н‑и-к‑о-г‑д-а, без острой необходимости не изменяйте в RouterOS профили с названием «Default», если точно НЕ знаете, как это повлияет на дальнейшую работу. В Winbox всегда есть возможность создать копию профиля и проводить эксперименты с копией. В консоли тоже есть такая возможность — ключевое слово «copy‑from=».
1,2) Для наглядности создадим копии имеющихся Proposal и Profile. При этом отключим в Proposal PFS:
/ip/ipsec/proposal
print
add copy-from=0 name=proposal-ike2 pfs-group=none
/ip/ipsec/profile
print
add copy-from=0 name=profile-ike2

Новые наборы параметров для IKEv2
3) Создадим отдельную Group для Policy:
/ip ipsec policy group add name=ike2

Группа для генерации policy
4) Создаем шаблон Policy Template для подключенных пиров, получивших адрес из пула 192.0.2.0/24:
/ip/ipsec/policy add dst-address=192.0.2.0/24 group=ike2 proposal=proposal-ike2 src-address=0.0.0.0/0 template=yes

Новый шаблон Ploicy Template ссылается на Proposal с шага 1 и на Group с шага 3
5) Создаем шаблон пира (клиента):
/ip/ipsec/peer add exchange-mode=ike2 name=peerike2 passive=yes profile=profile-ike2

6) Создаём mode‑config. Это набор параметров, которые будут переданы клиенту, включая адрес DNS‑сервера и маршруты до локальных сетей. В примере клиенту передается маршрут до локальной сети 10.10.4.0/24:
/ip/ipsec/mode-config
add address-pool=vpn-pool name=ike2-modconf split-include=10.10.4.0/24 system-dns=yes

Новый modeconf с параметрами для передачи клиенту. Ссылается на Pool
7) Создаем итоговый identity. В нем мы также будем использовать ссылку на полученный сертификат от Let’s Encrypt:
/ip/ipsec/identity
add auth-method=eap-radius certificate=letsencrypt-autogen_2023-xx-xxThh:mm:ssZ generate-policy=port-strict mode-config=ike2-modconf peer=peerike2 policy-template-group=ike2

Identity ссылается на Radius, Group, Modeconf и сертификат Let’s Encrypt
/radius
add address=127.0.0.1 secret=MySuperPass1234 service=ppp,ipsec
/radius incoming
set accept=yes


Описание доступа для vpn-сервера и одного пользователя
Настройки IPsec-сервера на первом роутере
1. Настройка IPsec-пира, IPsec политика будет создаваться автоматически, при подключении клиента (с динамическим созданием политики, роутер может принимать подключения от множества VPN-клиентов без донастройки. В данном случае VPN-канал поднимается между двумя роутерами и можно настроить статическую политику, как на втором роутере). Пароль, который будет использоваться при аутентификации и генерации секрета для шифрования соединения, задается в параметре secret
2. Настройка алгоритмов для шифрования и подписи соединения
/ip ipsec proposal
set defaul auth-algorithms=sha1 enc-algorithms=aes-128 name=default
ПРИМЕЧАНИЕ: 1. Если не указать значение address=0.0.0.0/0 для peer, оно будет подставлено автоматически, но работать IPsec не будет — баг RouterOS.
2. nat-traversal=yes для peer следует указывать, только если часть клиентов будет подключаться из-за NAT.
Настройки L2TP-клиента на втором роутере
Настраиваем и включаем L2TP-клиент
ПРИМЕЧАНИЕ: 1. Значение MTU 1418 — максимальное значение, при котором не будет фрагментации с использованием IPsec с алгоритмами SHA1 для подписи и AES-128 для шифрования. При использовании других алгоритмов значение MTU будет другим. Если используется механизм обхода NAT IPsec, следует понизить MTU на 28.
2. На этом этапе следует проверить работоспособность L2TP-подключения.
Настройки IPsec-клиента на втором роутере
2. Настройка политики IPsec
/ip ipsec policy
add action=encrypt ipsec-protocols=esp level=require proposal=default protocol=udp sa-src-address=10.0.0.102 src-address=10.0.0.102/32 src-port=any sa-dst-address=10.0.0.101 dst-address=10.0.0.101/32 dst-port=any tunnel=no
Настройка маршрутизации межу офисами
Пропишем маршруты на обоих роутерах Mikrotik. Так подсети увидят друг друга.
Для начала зайдем на роутер главного офиса (GW1), выполним следующие действия:
Укажем удаленную подсеть и шлюз, который будет обрабатывать запросы:
- Dst. Address – Адрес удаленной подсети (филиал);
- Gateway – шлюз (созданный интерфейс в предыдущем шаге), который будет обрабатывать запросы с сети филиала.
Затем зайдем на Mikrotik филиала (GW2), добавим маршрут:
Укажем подсеть главного офиса и назначим Gateway:
- Dst. Address – адрес удаленной подсети (главный офис);
- Gateway – шлюз (созданный интерфейс), который будет обрабатывать запросы с сети главного офиса.
Теперь филиалы видят друг друга. На этом настройка L2TP + IPSec между роутерами Mikrotik (Site-to-site), закончена.
Установка сертификатов OpenVPN и настройка сервера на MikroTik
Из созданных нами сертификатов и ключей нас интересуют 3 файла:
Импортируем сертификаты OpenVPN в ОС.
Заходим с помощью на роутер Микротик, на котором мы будем поднимать OpenVPN сервер. Копируем 3 вышеуказанных файла из папки, где они лежат, и вставляем с помощью меню: Files — Paste.

Далее импортируем их. Для этого используем меню WinBox: System — Certificates — выбор сертификата — кнопка Import.
После этого в окне Certificate List добавятся две записи: публичного сертификата CA и сертификата OpenVPN сервера. В первом столбце записи сертификата сервера должны стоять две буквы — KR. Если вы видите там что-то другое, попробуйте еще раз импортировать файл ключа (*.key).

Создаем PPP-профиль. Для этого идем: PPP — Profiles. Добавляем его кнопкой +.
В поля вписываем:
- имя профиля,
- Local Address — адрес роутера Микротик, к которому будут подключаться клиенты. Он должен лежать в одой подсети с Remote Address
Остальные настройки не трогаем.

Настраиваем сервер OpenVPN на роутере MikroTik.
Идем в меню PPP- Interface — OVPN Server.
- Активируем его, поставив галочку в пункте Enabled.
- В поле mode оставляем IP (IP-туннелирование по умолчанию) или выставляем ethernet (режим сетевого моста), это L3 и L2 соответственно. Чаще всего используется IP.
- Default Profile — выбираем профиль, который мы создали ранее.
- Certificate — сертификат сервера.
- require-client-certificate — если ставим галку, то сервер при подключении проверяет сертификат клиента. Если нет — то не проверяет, и настройка клиента при этом упрощается.

Создаем и настраиваем пользователя.
PPP — Secrets и добавляем пользователя. Тут все просто: имя, пароль, сервис и профиль.
Необходимо также в настройках клиента предусмотреть синхронизацию времени с сервером. Вначале убеждаемся, что у нас выставлена правильная тайм-зона (меню System — Clock). Далее идем в меню System — SNTP Client и прописываем адрес NTP сервера (на скриншоте указан локальный, но можно взять любой, к примеру 85.21.78.91).

Настраиваем разрешающее правило фаерволла
Идем IP — Firewall — Filter Rules и разрешаем трафик на порт OpenVPN:
- В поле Chain ставим input.
- In. Interface — прописываем название интерфейса, на который идет входящий трафик.

Активируем правило на вкладке Action:

Напомним, что разрешающее правило в списке правил должно быть выше запрещающих, иначе оно не будет работать.
Шаг 7. Настраиваем клиента Windows
VPN-сервер настроен! Самое время настроить клиента. Делать это мы будем из операционной системы Windows 7, хотя настройки в общем-то типовые. Дополнительный софт ставить не надо.
Открываем «Центр управления сетями и общим доступом» через «Панель управления» и нажимаем кнопку «Настройка нового подключения или сети»:

Тут нужно найти пункт, содержащий в сете три волшебные буквы «VPN», а именно: «Подключение к рабочему месту».

Предлагаются два варианта. Нам подходит первый — подключение через уже имеющееся Интернет-соединение. Условно говоря, поверх уже существующего канала создаётся шифрованный, прямиком «на работу».


И вот здесь пригодится имя пользователя и пароль, которые мы создавали на этапе «секреты».

Если попытаться подключиться сейчас, то ничего хорошего не выйдет! Всё правильно, открываем свойства созданного VPN-подключения и идём на вкладку «Безопасность».
Выбираем тип VPN: L2TP IPsec, а также нажимаем на кнопку «Дополнительные параметры» и вводим предварительный ключ (ipsec)

И вот теперь уже подключение происходит сразу. Откроем окно состояния и видим, что криптозащита трафика включена, можно работать дальше.

Данную статью можно закончить! Оставайтесь с нами, рассмотрим и другие варианты подключений!
Проверка
Для того, что бы проверить VPN-соединение достаточно запустить ping с компьютера VPN-клиента на любой компьютер в сети за маршрутизатором GW1.
- Не мешает ли файервол. Для уверенности лучше временно отключить все правила файервола на маршрутизаторе.
- Совпадают ли имя пользователя, пароль и ключ IPsec.
- На VPN-клиенте указан правильный адрес VPN-сервера к которому должно происходить подключение.
В головном офисе установлен маршрутизатор GW1. Он же будет настроен в качестве VPN-сервера. В этом же офисе работает сервер DC1, который является контроллером домена и параллельно выполняет функции DNS и WINS-сервера. К головному офису будет подключаться компьютер, который будет настроен как VPN-клиент.
Подключаем клиента windows.
Создаем новое подключение к VPN.
Имя/адрес сервера: указываем FQDN, своё, на которое выдан сертификат (у меня это gw1.mt-courses.ru)

Параметры создаваемого подключения
Если всё сделано правильно, то должно произойти успешное подключение в VPN.
Если же возникает ошибка IKE с кодом 13801 то, скорее всего, неправильно или не туда в системе установлен сертификат R3.
Скрипт для IPsec-клиентов с динамическим IP-адресом
Ставим скрипт на выполнение раз в две минуты
/system scheduler
add disabled=no interval=2m name=check-wan-for-ipsec on-event=ipsec-wan-addr policy=read,write
Шаг 2. Профиль для VPN-подключения
Следующим шагом создадим настройки профиля подключений по .
Перейдём на вкладку Profiles и добавим новый профиль.
Зададим имя для удобства. Не мудрствуя лукаво, я просто оставил 2. А также указал локальный и удалённый
адреса из нашего пула (по счастливой случайности он так же называется 2).

Я также отметил возможность изменять максимальный размер сегмента
(опция ). Есть подозрение, что
это поможет избежать фрагментацию сегментов.
Шаг 3. Секреты
Под секретом в данном случае понимаются учётки -юзеров. Заходим также в
раздел , на вкладку и
под каждого пользователя создаём свой секрет.

В качестве сервиса выбираем 2, а в качестве профиля – созданный на шаге № 2 профиль .
Создал одну учётку пока, для эксперимента. Если уж с ней
получится, то и с другими по аналогии должно пойти на УРА.
Настройка подключения на стороне клиента
На компьютере или ноутбуке сотрудника настроим VPN-соединение до L2TP Сервера. Приведу пример, как это можно сделать на ОС Windows 10.
Следующим шагом выберем вариант подключения:
Выполним подключение через Интернет с помощью VPN:
Следующим шагом введем внешний адрес (WAN) роутера Mikrotik и произвольное имя для соединения:
В нашем примере маршрутизатору Mikrotik назначен внешний IP 111.111.111.111, у вас это будет свой адрес.
Продолжим настройку VPN соединения:
Откроем свойства созданного соединения:
Перейдем на вкладку “Безопасность”, выполнив настройку как показано на рисунке ниже:
Откроем дополнительные параметры (5 шаг на рисунке) и укажем ключ IPSec, который мы указали ранее в настройках L2TP Server, параметром IPsec Secret:
Далее откроем вкладку “Сеть”, уберем галочку с протокола TCP/IPv6 и откроем свойства протокола TCP/IPv4:
Нажмем кнопку “Дополнительно” и запретим использовать основной шлюз в удаленной сети, сняв галочку с соответствующего пункта:
Важно! Игнорируя текущий пункт настройки, после установки VPN соединение пропадет интернет.
Подключаем созданное VPN-соединение:
Настройка маршрутизации L2TP-клиента
Подключение установилось. Следующим шагом укажем постоянный статический маршрут прописав шлюз для удаленной подсети.
Откроем командную строку с правами администратора и выполним команду:
route add 192.168.13.0 mask 255.255.255.0 10.10.10.1 if 49 /p
- 192.168.13.0 – локальная подсеть организации;
- 255.255.255.0 – маска этой подсети;
- 10.10.10.1 – шлюз (адрес устройства Mikrotik, который мы задавали в настройках профиля);
- 49 – номер созданного VPN интерфейса (можно узнать командой route print);
- /p – параметр, указывающий на то, что сделать маршрут постоянным. Иначе после перезагрузки данный маршрут удалится.
Пример, как можно посмотреть номер интерфейса:
На этом настройка L2TP Server + IPSec на Mikrotik закончена. Надеюсь, данная статья была для вас полезной.
Шаг 6. Файрволл
На сетевом экране IP — Firewall необходимо открыть следующие порты (цепочка input — входящий): протокол udp, порты 500, 4500, 1701.

Можно уточнить правила, указав In. Interface, чтобы ожидать пакеты именно с внешнего интерфейса, а также указать конкретные Src. или Dst. адреса, но это уже будет зависеть от конкретной ситуации. Чем точнее описано правило, тем оно более «секурно», но одновременно и менее гибкое.
Соответственно, если политика по умолчанию у вас accept — то делать ничего не надо. Если drop — скорректировать правила соответствующим образом. Настройка файрволла — тема очень интересная, заслуживает отдельной статьи.
Шаг 1. Диапазон адресов клиентов
Для того, чтобы избежать путаницы, выделим всех клиентов,
подключаемых по в отдельный пул адресов. Так проще будет настроить
маршрутизацию и правила межсетевого экрана, при необходимости.

Добавляем новый пул, назвав его как-нибудь примечательно,
чтобы потом не затупить.
Настройка L2TP Server + IPSec на Mikrotik (client-to-site)
Рассмотрим вариант подключения к L2TP Server удаленных сотрудников (client-to-site). На практике данный способ применяется, когда работник компании уехал в командировку и ему надо иметь доступ к внутренним ресурсам локальной сети фирмы. Таким образом, сотрудник со своего ноутбука устанавливает VPN соединение по которому получает доступ к локальным ресурсам сети.
Создаем пул адресов
Первым шагом назначим пул адресов, которые побудут получать клиенты, подключаемые по VPN:
В окне “New IP Pool” укажем название пула и диапазон адресов:
Профиль подключения
Дальше создадим свой профиль для L2TP соединений:
Выполним настройку профиля следующим образом:
- Name – произвольное имя профиля;
- Local Address – назначим адрес L2TP Серверу;
- Pool-адресов, из которого будут назначаться IP подключаемым пользователям (Remote Address);
- Change TCP MSS: yes –изменять максимально возможный размер сегмента TCP. Текущая настройка немного повысит устойчивость соединения.
- Use UpnP: no – отключим использование службы UPnP.
- Use MPLS: no – отключим многопротокольную коммутацию по меткам;
- Требовать шифрование.
На вкладке “Limits” ограничим подключение единственным соединением:
Создание пользователя
На вкладке “Secrets” укажем настройки имени пользователя, пароль и профиль для подключения:
- Name – произвольное имя пользователя. Желательно создавать интуитивно понятные имена;
- Password – пароль пользователя. Желательно использовать сложные пароли;
- Profiles – ранее созданный профиль для подключения.
Осталось активировать L2TP Server на Mikrotik, выбрать метод аутентификации, задать профиль по умолчанию, включить IPSec и установить для него ключ шифрования:
- Поставим галочку у пункта “Enabled”;
- Default Profile – укажем ранее созданный профиль, который будет использоваться по умолчанию для подключений.
- Оставим метод аутентификации mschap2;
- Use IPsec: yes – включаем использование IPSec;
- IPsec Secret – придумаем и установим ключ шифрования для IPSec.
- OK.
Заключение
Мы рассмотрели настройку VPN-серверов на четырех разных протоколах. Надеемся, что эта инструкция поможет вам создать собственный виртуальный маршрутизатор на базе Mikrotik CHR.

