Настройка VPN между MikroTik: L2TP/IPsec, IKEv2 и другие способы

Подробное руководство по настройке VPN-соединений между маршрутизаторами MikroTik: L2TP/IPsec, IKEv2, GRE, EoIP. Сравнение протоколов, пошаговые инструкции, настройка firewall и маршрутизации, решение типичных проблем.

Зачем нужен VPN между двумя MikroTik

VPN между маршрутизаторами MikroTik позволяет объединить две или более локальные сети в единое защищённое пространство. Это востребовано при подключении филиалов к головному офису, организации удалённого доступа сотрудников или создании распределённой инфраструктуры. В отличие от простого проброса портов, VPN обеспечивает шифрование трафика и контроль доступа, что критично при передаче коммерческой или личной информации через интернет.

MikroTik RouterOS поддерживает несколько технологий VPN, каждая из которых имеет свои особенности. Выбор зависит от требуемой скорости, уровня безопасности, сложности настройки и совместимости с клиентскими устройствами. В этой статье мы разберём основные варианты: L2TP/IPsec, IKEv2, GRE, EoIP, PPTP и OpenVPN, а также дадим практические рекомендации по их настройке.

Сравнение протоколов VPN для MikroTik

L2TP/IPsec — наиболее сбалансированный вариант для большинства задач. L2TP сам по себе не шифрует трафик, но в связке с IPsec обеспечивает надёжную защиту. Протокол поддерживается практически всеми операционными системами и устройствами «из коробки», что упрощает подключение удалённых сотрудников. Настройка в MikroTik относительно проста, а производительность достаточна для офисных задач.

IKEv2 — современный протокол, который также использует IPsec для шифрования. Он отличается высокой устойчивостью к разрывам соединения (например, при смене сети на мобильном устройстве) и хорошей производительностью. IKEv2 поддерживается Windows, macOS, iOS, Android и другими платформами. Для аутентификации можно использовать как пароли, так и сертификаты, что повышает безопасность.

GRE — простой туннельный протокол, который инкапсулирует пакеты без шифрования. Он подходит для объединения сетей, когда безопасность не является приоритетом, например, для тестовых сред. GRE работает на сетевом уровне (L3) и требует белых IP-адресов на обоих концах.

EoIP — проприетарный протокол MikroTik, который создаёт туннель на канальном уровне (L2). Он позволяет передавать Ethernet-кадры между маршрутизаторами, что удобно для объединения сегментов L2-сети. EoIP также не шифрует трафик, поэтому для защиты его комбинируют с IPsec.

PPTP — устаревший протокол, который легко взламывается. Его использование не рекомендуется, особенно для передачи чувствительных данных. PPTP поддерживается Windows и Android, но из-за слабой безопасности лучше выбрать L2TP/IPsec или IKEv2.

OpenVPN — гибкое решение с открытым исходным кодом, но в MikroTik реализация ограничена: не поддерживается UDP, что снижает производительность. Поэтому OpenVPN на MikroTik обычно не используют, если нет особых требований.

Подготовка к настройке: что нужно знать

Перед началом настройки VPN между MikroTik необходимо убедиться, что выполнены следующие условия:

  • Белый IP-адрес — как минимум на одном маршрутизаторе (сервере) должен быть публичный IP-адрес, доступный из интернета. Если оба устройства находятся за NAT, потребуется проброс портов или использование облачных сервисов.
  • Статический IP или доменное имя — для серверной стороны желательно иметь постоянный адрес, чтобы клиенты могли подключаться по одному и тому же адресу. Если IP динамический, можно использовать DynDNS.
  • Версия RouterOS — большинство инструкций актуальны для RouterOS 7.x, но базовые принципы применимы и к 6.x. Рекомендуется обновить прошивку до актуальной стабильной версии.
  • Понимание сетевых настроек — необходимо знать IP-адреса интерфейсов, маски подсетей и шлюзы по умолчанию.
  • Права администратора — доступ к WinBox или SSH для конфигурирования.

Также стоит продумать схему адресации VPN-сети. Обычно выделяют отдельный диапазон, например 172.16.200.0/24, чтобы не конфликтовать с локальными сетями.

Настройка L2TP/IPsec сервера на MikroTik

Рассмотрим настройку L2TP/IPsec сервера на MikroTik для подключения удалённых клиентов или другого маршрутизатора. В качестве примера используем RouterOS 7.

Шаг 1: Создание пула IP-адресов

Перейдите в IP → Pool и создайте новый пул, например VPN_Pool, с диапазоном адресов для клиентов, например 172.16.200.1-172.16.200.100.

Шаг 2: Создание пользователя

В PPP → Secrets добавьте пользователя с именем (например, office2), паролем и укажите Service: l2tp. Здесь же можно задать локальный и удалённый адреса, если требуется статическое назначение.

Шаг 3: Включение L2TP-сервера

В PPP → L2TP Server установите флажок Enabled, выберите профиль (например, default-encryption), включите аутентификацию MS-CHAPv2 и задайте общий секрет IPsec (например, IPSec_password). Активируйте опцию Use IPsec: required, чтобы запретить подключения без шифрования.

Шаг 4: Создание статического интерфейса (опционально)

Для удобства управления можно создать постоянный L2TP-интерфейс: в Interfaces → L2TP Server Binding добавьте запись, указав пользователя. Это позволит использовать интерфейс в правилах firewall и маршрутизации даже при отсутствии активного соединения.

Шаг 5: Настройка firewall

Необходимо разрешить входящие соединения на сервере. В IP → Firewall → Filter Rules добавьте правила для цепочки input, разрешающие:

  • UDP порты 1701 (L2TP), 500 (ISAKMP) и 4500 (NAT-T) на внешнем интерфейсе;
  • Протокол IPsec ESP.

Пример команды CLI:

/ip firewall filter add chain=input protocol=udp dst-port=1701,500,4500 in-interface=ether1-WAN action=accept
/ip firewall filter add chain=input protocol=ipsec-esp in-interface=ether1-WAN action=accept

После этого сервер готов принимать L2TP/IPsec-подключения.

Настройка L2TP/IPsec клиента на MikroTik

Для подключения второго MikroTik к серверу в качестве клиента выполните следующие шаги.

Шаг 1: Создание L2TP-клиента

В PPP → L2TP Client нажмите «+» и заполните параметры:

  • Connect To — IP-адрес или доменное имя L2TP-сервера;
  • User — имя пользователя, созданного на сервере;
  • Password — пароль пользователя;
  • Use IPsec — установите флажок;
  • IPsec Secret — общий секрет IPsec, который совпадает с серверным.

Шаг 2: Настройка маршрутизации

После установления соединения на клиенте появится виртуальный интерфейс l2tp-out1. Чтобы клиенты локальной сети могли обращаться к удалённой сети, добавьте статический маршрут:

/ip route add dst-address=10.22.22.0/24 gateway=172.16.200.2

Здесь 10.22.22.0/24 — сеть за сервером, а 172.16.200.2 — IP-адрес, назначенный клиенту (можно посмотреть в списке интерфейсов).

Шаг 3: Проверка соединения

Убедитесь, что интерфейс l2tp-out1 имеет флаг R (running). Можно выполнить ping до удалённого адреса, например 10.22.22.1.

Если соединение не устанавливается, проверьте правильность учётных данных, доступность сервера (ping по белому IP) и настройки firewall на обеих сторонах.

Настройка IKEv2 VPN с сертификатами

IKEv2 обеспечивает более высокую безопасность и устойчивость к обрывам, чем L2TP. Рассмотрим настройку IKEv2-сервера на MikroTik с аутентификацией по сертификатам.

Шаг 1: Создание центра сертификации (CA)

В System → Certificates создайте новый сертификат с именем ca, укажите Common Name ca, размер ключа 2048 бит и срок действия (например, 3650 дней). На вкладке Key Usage оставьте только флаги crl sign и key cert. sign. Подпишите сертификат, указав CA CRL Host (можно 127.0.0.1).

Шаг 2: Выпуск серверного сертификата

Создайте сертификат для сервера, указав в Name и Common Name IP-адрес или доменное имя, по которому клиенты будут подключаться. В Subject Alt. Name добавьте IP-адрес. На вкладке Key Usage оставьте только tls server. Подпишите сертификат созданным CA.

Шаг 3: Выпуск клиентского сертификата

Аналогично создайте сертификат для каждого клиента, указав имя (например, client1). На вкладке Key Usage можно оставить tls client. Подпишите его CA. Затем экспортируйте клиентский сертификат в формате PKCS12 (.p12), задав пароль для защиты файла.

Шаг 4: Настройка IPsec для IKEv2

В IP → IPsec создайте:

  • Profile — например, IKEv2, параметры по умолчанию;
  • Proposal — выберите алгоритмы шифрования aes-128-cbc, aes-192-cbc, aes-256-cbc;
  • Pool — диапазон адресов для клиентов, например 172.16.200.1-172.16.200.100;
  • Mode Config — включите Responder, укажите пул и префикс 32;
  • Group — создайте группу, например IKEv2_Group;
  • Policy — создайте шаблон политики с Src. Address 0.0.0.0/0, Dst. Address 172.16.200.0/24, флагом Template и выберите группу;
  • Peer — создайте пир с Passive режимом, Address 0.0.0.0/0 и укажите сертификаты.

Шаг 5: Настройка клиента

На клиентском устройстве (Windows, Android и т.д.) импортируйте .p12 сертификат и создайте подключение IKEv2, указав адрес сервера и выбрав сертификат для аутентификации.

Этот метод исключает передачу паролей по сети и повышает безопасность, но требует более сложной настройки.

Настройка GRE и EoIP туннелей

GRE туннель

GRE — простой способ объединить две сети без шифрования. Для настройки на обоих маршрутизаторах создайте интерфейс GRE:

/interface gre add name=gre-tunnel1 remote-address=<IP_удаленного_роутера> local-address=<локальный_IP> mtu=1400

После этого назначьте IP-адреса на туннельные интерфейсы (например, 10.10.5.1/30 и 10.10.5.2/30) и добавьте маршруты в удалённые сети.

GRE не обеспечивает шифрование, поэтому для защиты поверх него можно настроить IPsec.

EoIP туннель

EoIP работает на втором уровне и позволяет объединить два Ethernet-сегмента. Создайте интерфейс EoIP:

/interface eoip add name=eoip-tunnel1 remote-address=<IP_удаленного_роутера> tunnel-id=1

Затем добавьте IP-адрес на интерфейс и настройте маршрутизацию. EoIP также не шифрует трафик, поэтому для безопасности используйте IPsec.

Эти туннели полезны, когда нужно передавать широковещательные кадры (например, для некоторых протоколов) или когда производительность важнее безопасности.

Настройка firewall и маршрутизации для VPN

Правильная настройка firewall критична для работы VPN. На сервере необходимо разрешить входящие соединения на используемых портах. Для L2TP/IPsec это UDP 1701, 500, 4500 и протокол ESP. Для IKEv2 — UDP 500 и 4500. Для GRE — протокол GRE (47).

Пример правил для L2TP/IPsec:

/ip firewall filter add chain=input protocol=udp dst-port=1701,500,4500 in-interface=ether1-WAN action=accept
/ip firewall filter add chain=input protocol=ipsec-esp in-interface=ether1-WAN action=accept

Также важно настроить NAT, если сервер находится за NAT. Для L2TP/IPsec необходимо пробросить порты 1701, 500, 4500 на внутренний IP сервера.

Маршрутизация между сетями настраивается статическими маршрутами. На каждом маршрутизаторе добавьте маршрут к удалённой сети через VPN-интерфейс. Например, если за сервером сеть 10.11.11.0/24, а за клиентом 10.22.22.0/24, то на сервере добавьте маршрут 10.22.22.0/24 via 172.16.200.2, а на клиенте — 10.11.11.0/24 via 172.16.200.1.

Не забывайте про порядок правил firewall: разрешающие правила должны стоять до запрещающих.

Типичные проблемы и их решение

1. Соединение не устанавливается

  • Проверьте, доступен ли сервер из интернета (ping, telnet на порт).
  • Убедитесь, что на сервере разрешены нужные порты в firewall.
  • Проверьте правильность учётных данных и IPsec-секрета.
  • Если используется NAT, убедитесь, что проброс портов настроен.

2. Низкая скорость VPN

  • IPsec шифрование нагружает процессор. На слабых моделях MikroTik скорость может быть ограничена. Рассмотрите использование аппаратного ускорения (если поддерживается) или более мощного оборудования.
  • Проверьте MTU на туннельных интерфейсах, уменьшите до 1400-1450, чтобы избежать фрагментации.

3. Блокировка со стороны провайдера

  • В некоторых странах (включая РФ) возможна блокировка VPN-протоколов. Если L2TP/IPsec не работает, попробуйте использовать другой порт (например, 443 для SSTP) или протокол (OpenVPN).
  • Для обхода блокировок можно использовать протоколы, маскирующиеся под обычный HTTPS-трафик.

4. Проблемы с сертификатами IKEv2

  • Убедитесь, что сертификат сервера соответствует адресу, по которому клиент подключается.
  • Проверьте срок действия сертификатов и цепочку доверия.
  • На клиенте импортируйте корневой сертификат CA в доверенные.

5. Динамический IP на сервере

  • Используйте DynDNS, чтобы клиенты могли подключаться по доменному имени.
  • Для IKEv2 сертификат можно выпустить на доменное имя, чтобы не перевыпускать при смене IP.

Рекомендации по выбору протокола и безопасности

Для большинства сценариев оптимальным выбором является L2TP/IPsec благодаря простоте настройки и широкой совместимости. Если требуется максимальная устойчивость к обрывам и поддержка мобильных устройств, выбирайте IKEv2. Для объединения офисов с высокими требованиями к скорости и без необходимости шифрования можно использовать GRE или EoIP, но лучше дополнить их IPsec.

Независимо от выбора, следуйте рекомендациям:

  • Используйте длинные и сложные пароли и IPsec-секреты.
  • Регулярно обновляйте RouterOS до актуальной версии.
  • Ограничьте доступ к VPN-серверу по IP-адресам (если возможно) в firewall.
  • Для IKEv2 используйте сертификаты вместо паролей.
  • Включайте шифрование всегда, даже если данные не являются конфиденциальными.
  • Мониторьте логи и активные соединения для выявления подозрительной активности.

Правильно настроенный VPN между MikroTik обеспечит надёжную и безопасную связь между офисами или удалёнными пользователями, что особенно важно в современных условиях.

Вопросы и ответы

Какой протокол VPN лучше всего использовать между двумя MikroTik?

Для большинства случаев рекомендуется L2TP/IPsec, так как он прост в настройке, поддерживается всеми современными ОС и обеспечивает надёжное шифрование. Если нужна повышенная устойчивость к обрывам (например, для мобильных сотрудников), выбирайте IKEv2. Для максимальной скорости без шифрования можно использовать GRE или EoIP, но их лучше комбинировать с IPsec.

Нужен ли белый IP-адрес для настройки VPN на MikroTik?

Да, как минимум на стороне сервера должен быть публичный IP-адрес, доступный из интернета. Если оба устройства находятся за NAT, потребуется проброс портов на сервере. Для клиента достаточно иметь доступ в интернет, чтобы инициировать соединение.

Как открыть порты для L2TP/IPsec на MikroTik?

В firewall MikroTik добавьте разрешающие правила для входящих соединений на UDP портах 1701 (L2TP), 500 (ISAKMP) и 4500 (NAT-T), а также для протокола IPsec ESP. Пример: /ip firewall filter add chain=input protocol=udp dst-port=1701,500,4500 in-interface=ether1-WAN action=accept.

Что делать, если VPN-соединение устанавливается, но нет доступа к удалённой сети?

Проверьте маршрутизацию: на каждом маршрутизаторе должен быть маршрут к удалённой сети через VPN-интерфейс. Также убедитесь, что на VPN-интерфейсах назначены корректные IP-адреса и что firewall не блокирует трафик между сетями (например, в цепочке forward).

Можно ли использовать IKEv2 с паролем вместо сертификатов?

Да, IKEv2 поддерживает аутентификацию по паролю (EAP-MSCHAPv2), но сертификаты обеспечивают более высокий уровень безопасности, так как исключают передачу паролей по сети. Для большинства корпоративных сценариев рекомендуется использовать сертификаты.

Как увеличить скорость VPN на MikroTik?

Скорость VPN ограничена производительностью процессора маршрутизатора при шифровании. Для повышения скорости можно: использовать более мощное оборудование, включить аппаратное ускорение шифрования (если поддерживается), уменьшить MTU до 1400-1450, а также выбрать менее требовательный алгоритм шифрования (например, aes-128 вместо aes-256).

Что делать, если VPN блокируется провайдером?

Если провайдер блокирует стандартные порты VPN, попробуйте использовать альтернативные порты (например, 443 для SSTP) или протоколы, которые маскируются под обычный HTTPS-трафик (например, OpenVPN over TCP 443). Также можно использовать протоколы на базе TLS, такие как SSTP, который поддерживается MikroTik.