Настройка VPN на MikroTik: L2TP/IPsec и OpenVPN — подробное руководство

Как настроить VPN-сервер и клиент на роутере MikroTik: L2TP/IPsec, OpenVPN, маршрутизация, firewall, сравнение протоколов и ответы на частые вопросы.

Зачем нужен VPN на роутере MikroTik

VPN на роутере MikroTik позволяет объединить несколько офисов в единую защищённую сеть, организовать удалённый доступ сотрудников к внутренним ресурсам (1С, файловые серверы, RDP) и защитить трафик при подключении из ненадёжных сетей. В отличие от VPN-клиента на отдельном компьютере, настройка на роутере даёт возможность подключаться к корпоративной сети с любого устройства в локальной сети — от стационарных ПК до смартфонов и IP-камер, без установки дополнительного ПО на каждое устройство.

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

В этой статье мы подробно разберём настройку двух наиболее популярных вариантов: L2TP/IPsec и OpenVPN. Первый — оптимален для большинства сценариев благодаря простоте и встроенной поддержке в Windows, Android и iOS. Второй — более гибкий и безопасный, но требует создания сертификатов и имеет ограничения в RouterOS v6.

Также рассмотрим настройку VPN-клиента на MikroTik для подключения к внешнему серверу, маршрутизацию, правила firewall и типичные ошибки.

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

Прежде чем приступить к настройке, важно понимать различия между протоколами VPN, доступными в RouterOS.

PPTP — один из самых старых протоколов, поддерживается всеми версиями Windows и Android. Однако он крайне небезопасен: ключ шифрования может быть восстановлен из перехваченного трафика за несколько часов. Использовать PPTP рекомендуется только в крайних случаях, когда нет требований к конфиденциальности.

L2TP/IPsec — комбинация протокола L2TP (Layer 2 Tunneling Protocol) и IPsec для шифрования. L2TP сам по себе не шифрует данные, но в связке с IPsec обеспечивает надёжную защиту. Этот протокол поддерживается практически всеми операционными системами из коробки, включая Windows, macOS, Linux, Android и iOS. Настройка относительно проста, а производительность при наличии аппаратного ускорения IPsec на роутерах MikroTik достаточно высокая.

OpenVPN — гибкий и безопасный протокол, использующий SSL/TLS. В RouterOS v6 поддерживается только TCP, что снижает скорость по сравнению с UDP. Также отсутствует поддержка сжатия LZO и TLS-аутентификации. OpenVPN требует создания сертификатов, что усложняет настройку, но обеспечивает высокий уровень безопасности. На оборудовании MikroTik нет аппаратного ускорения для OpenVPN, поэтому вся нагрузка ложится на CPU.

SSTP — протокол от Microsoft, использует SSL 3.0 и порт 443, что помогает обходить фаерволы. Встроен в Windows, но в MikroTik очень требователен к ресурсам процессора, поэтому на слабых моделях скорость будет низкой.

GRE и EoIP — туннели уровня L2/L3 для объединения сетей site-to-site. EoIP — проприетарный протокол MikroTik, работает на L2 и передаёт Ethernet-фреймы. GRE — более универсальный, но оба не шифруют трафик по умолчанию. Их можно комбинировать с IPsec для защиты.

Вывод: для большинства задач оптимальным выбором является L2TP/IPsec — простота, безопасность и совместимость. OpenVPN стоит использовать, если требуется максимальная гибкость или обход строгих файрволов.

Подготовка к настройке L2TP/IPsec сервера

Перед началом настройки L2TP/IPsec сервера на MikroTik необходимо выполнить несколько подготовительных шагов.

  1. Публичный IP-адрес. VPN-сервер должен быть доступен из интернета, поэтому требуется белый (статический) IP-адрес на WAN-интерфейсе роутера. Если провайдер выдаёт серый IP, потребуется проброс портов или использование VPS-сервера в качестве ретранслятора.
  1. Обновление RouterOS. Убедитесь, что на роутере установлена актуальная версия RouterOS. В старых версиях могут быть ошибки и уязвимости. Проверить и обновить можно через WebFig или WinBox: System → Packages.
  1. Планирование IP-адресации. Определите подсеть для VPN-клиентов, например 192.168.10.0/24. Выделите пул адресов, которые будут выдаваться клиентам, например 192.168.10.100-192.168.10.150. Также решите, какой адрес будет у самого сервера в VPN-сети (local address), например 192.168.10.1.
  1. Создание учётных записей. Для каждого VPN-пользователя нужно создать логин и пароль. Для межсетевых соединений (site-to-site) можно использовать отдельные учётные записи с фиксированными IP-адресами.
  1. Настройка DNS. Если VPN-клиенты должны использовать DNS-серверы, укажите их в профиле PPP. В противном случае клиенты могут не получить настройки DNS, и доступ к интернету через VPN будет работать некорректно.

После подготовки можно переходить к настройке сервера.

Пошаговая настройка L2TP/IPsec сервера

Настройка L2TP/IPsec сервера в MikroTik выполняется в несколько этапов.

1. Создание пула IP-адресов. Перейдите в IP → Pool и добавьте новый пул:

/ip pool add name=vpnpool ranges=192.168.10.100-192.168.10.150

Этот пул будет использоваться для выдачи адресов VPN-клиентам.

2. Создание профиля PPP. Перейдите в PPP → Profiles и создайте новый профиль:

/ppp profile add name=l2tp dns-server=192.168.10.1 local-address=192.168.10.1 remote-address=vpnpool

В поле Local Address укажите IP-адрес сервера в VPN-сети, в Remote Address — созданный пул. DNS-сервер можно указать как локальный адрес роутера или внешний, например 8.8.8.8.

3. Включение L2TP-сервера. Перейдите в PPP → Interface → L2TP Server и включите его:

/interface l2tp-server server set authentication=mschap2 default-profile=l2tp enabled=yes ipsec-secret=mysecret use-ipsec=required

Здесь:

  • authentication — протокол проверки подлинности, рекомендуется mschap2;
  • default-profile — созданный профиль;
  • ipsec-secret — секретный ключ для IPsec (используется как pre-shared key);
  • use-ipsec — required, чтобы шифрование было обязательным.

4. Создание пользователя. Перейдите в PPP → Secrets и добавьте учётную запись:

/ppp secret add name=user1 password=user1 profile=l2tp

Для site-to-site подключения можно указать local-address и remote-address вручную:

/ppp secret add name=user2 password=user2 profile=l2tp local-address=192.168.10.1 remote-address=192.168.10.2

5. Настройка firewall. Для доступа к L2TP/IPsec серверу из интернета нужно разрешить входящие соединения на портах UDP 500, 1701, 4500 и протокол IPsec ESP. В IP → Firewall → Filter Rules добавьте правила:

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

Замените ether1 на ваш WAN-интерфейс. Правила должны быть выше любых запрещающих правил.

После этих шагов L2TP/IPsec сервер готов к подключению клиентов.

Настройка L2TP/IPsec клиента на Windows и других устройствах

Для подключения к L2TP/IPsec серверу на MikroTik с компьютера Windows можно использовать встроенный VPN-клиент.

  1. Откройте «Панель управления» → «Сеть и Интернет» → «Центр управления сетями и общим доступом» → «Создание нового подключения или сети».
  2. Выберите «Подключение к рабочему месту» → «Использовать моё подключение к Интернету (VPN)».
  3. Введите IP-адрес или доменное имя вашего MikroTik-сервера.
  4. Введите имя пользователя и пароль, созданные на сервере.
  5. Нажмите «Создать».

После создания подключения необходимо настроить параметры IPsec. Откройте свойства созданного VPN-подключения, перейдите на вкладку «Безопасность» и:

  • Тип VPN: L2TP/IPsec;
  • Шифрование: «Обязательное шифрование»;
  • Дополнительные свойства: введите ключ IPsec (тот самый ipsec-secret).

Для Android и iOS встроенные клиенты L2TP/IPsec также поддерживаются, но начиная с некоторых версий Android и iOS поддержка L2TP может быть удалена. В этом случае используйте OpenVPN или WireGuard.

Если VPN-клиент не получает доступ к интернету через VPN, проверьте настройки DNS в профиле PPP и маршруты на сервере.

Настройка L2TP/IPsec между двумя роутерами MikroTik

Для объединения двух офисов с помощью L2TP/IPsec на MikroTik необходимо настроить один роутер как сервер, другой — как клиент.

На сервере (центральный офис):

  • Создайте пул и профиль, как описано выше.
  • Включите L2TP-сервер с IPsec.
  • Создайте учётную запись для клиента с указанием local-address и remote-address, например:
/ppp secret add name=office2 password=secret profile=l2tp local-address=192.168.10.1 remote-address=192.168.10.2
  • Добавьте маршрут к сети удалённого офиса:
/ip route add dst-address=192.168.88.0/24 gateway=192.168.10.2

На клиенте (удалённый офис):

  • Перейдите в PPP → Interface → L2TP Client и создайте новое подключение:
/interface l2tp-client add connect-to=90.200.100.99 disabled=no ipsec-secret=mysecret use-ipsec=yes name=l2tp-out1 password=secret user=office2
  • Добавьте маршрут к сети центрального офиса:
/ip route add dst-address=192.168.0.0/24 gateway=192.168.10.1

После этого сети за обоими роутерами смогут обмениваться данными. Убедитесь, что на клиенте и сервере настроены правила firewall, разрешающие L2TP/IPsec трафик.

Важно: если на клиенте используется NAT, необходимо настроить исключения для VPN-трафика, чтобы пакеты не маскировались.

Настройка OpenVPN сервера на MikroTik

OpenVPN на MikroTik требует создания сертификатов и имеет ограничения в RouterOS v6: только TCP, нет сжатия LZO и TLS-аутентификации. Тем не менее, это надёжный и гибкий протокол.

Создание сертификатов.

  1. Перейдите в System → Certificates.
  2. Создайте самоподписанный корневой сертификат (CA):
  • Name: CA;
  • Common Name: ca.example.com;
  • Key Size: 2048;
  • Days Valid: 3650.
  1. Подпишите его (Sign), указав CA CRL Host (доменное имя для списка отзыва).
  2. Создайте сертификат сервера:
  • Name: ServerOVPN;
  • Common Name: vpn.example.com;
  • Key Usage: tls server.
  1. Подпишите его корневым сертификатом.

Создание профиля PPP. Перейдите в PPP → Profiles и создайте профиль:

/ppp profile add name=ovpn local-address=172.16.25.1 remote-address=172.16.25.2 dns-server=8.8.8.8

Включите Use Encryption, Use Compression, отключите Use MPLS и Only One.

Создание пользователя. В PPP → Secrets добавьте учётную запись:

/ppp secret add name=user password=pass service=ovpn profile=ovpn remote-address=172.16.25.2

Включение OpenVPN сервера. Перейдите в PPP → Interface → OVPN Server:

/interface ovpn-server server set enabled=yes port=1194 mode=ip default-profile=ovpn certificate=ServerOVPN cipher=aes256

Настройка firewall. Разрешите TCP-порт 1194 (или другой выбранный порт) на WAN-интерфейсе:

/ip firewall filter add action=accept chain=input dst-port=1194 protocol=tcp in-interface=ether1

После этого OpenVPN сервер готов. Клиенты могут подключаться с помощью OpenVPN-клиента, указав сертификаты и учётные данные.

Настройка OpenVPN клиента на MikroTik и ограничения

Для подключения MikroTik к внешнему OpenVPN-серверу (например, коммерческому VPN-провайдеру) необходимо создать интерфейс OVPN Client.

  1. Перейдите в PPP → Interface → OVPN Client.
  2. Заполните параметры:
  • Connect To: IP-адрес или домен сервера;
  • Port: порт (обычно 1194);
  • User/Password: учётные данные;
  • Certificate: если требуется проверка сервера, укажите сертификат CA;
  • Cipher: алгоритм шифрования (например, aes256).
  1. Включите интерфейс.

Если сервер требует клиентский сертификат, его необходимо импортировать на роутер. Для этого:

  • Экспортируйте сертификат и ключ с сервера (или с другого устройства) в формате PEM;
  • Скопируйте файлы на роутер через FTP или WinBox;
  • Импортируйте их в System → Certificates.

Ограничения OpenVPN в RouterOS v6:

  • Работает только по TCP, что снижает скорость по сравнению с UDP;
  • Нет поддержки LZO-сжатия;
  • Нет TLS-аутентификации (tls-auth);
  • Нет аппаратного ускорения, поэтому скорость ограничена производительностью CPU.

В RouterOS v7 поддержка OpenVPN улучшена, но всё ещё нет UDP. Для максимальной производительности на MikroTik рекомендуется использовать WireGuard, который поддерживается в RouterOS v7 и имеет аппаратное ускорение на некоторых моделях.

Маршрутизация и firewall для VPN

Правильная настройка маршрутизации и firewall — ключ к стабильной работе VPN.

Маршрутизация. После установления VPN-соединения необходимо добавить маршруты к удалённым сетям. На сервере маршрут к сети клиента указывает на remote-address клиента, на клиенте — на local-address сервера. Например:

/ip route add dst-address=192.168.88.0/24 gateway=192.168.10.2

Если клиент должен получать доступ к интернету через VPN, нужно настроить NAT на сервере и разрешить форвардинг.

Firewall. Для L2TP/IPsec разрешите UDP-порты 500, 1701, 4500 и протокол ESP. Для OpenVPN — TCP-порт 1194. Правила должны быть в цепочке input и находиться выше запрещающих правил.

Также важно настроить правила для цепочки forward, чтобы разрешить трафик между VPN-интерфейсом и LAN. Например:

/ip firewall filter add action=accept chain=forward src-address=192.168.10.0/24
/ip firewall filter add action=accept chain=forward dst-address=192.168.10.0/24

Если на роутере включён NAT для локальной сети, убедитесь, что VPN-трафик не маскируется. Для этого добавьте правило srcnat с исключением для подсети VPN:

/ip firewall nat add chain=srcnat src-address=192.168.10.0/24 action=accept

Проверьте, что на клиенте не блокируется VPN-трафик файрволом.

Типичные ошибки и их устранение

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

1. Не удаётся подключиться к L2TP/IPsec серверу. Проверьте:

  • Открыты ли порты UDP 500, 1701, 4500 и протокол ESP в firewall;
  • Правильно ли указан ipsec-secret на клиенте и сервере;
  • Используется ли белый IP-адрес;
  • Не блокирует ли провайдер L2TP/IPsec трафик.

2. VPN-клиент получает IP, но нет доступа к ресурсам. Проверьте маршруты на сервере и клиенте, правила forward в firewall, а также настройки NAT.

3. Низкая скорость VPN. Скорость зависит от модели роутера и протокола. L2TP/IPsec с аппаратным ускорением будет быстрее, чем OpenVPN. Проверьте загрузку CPU во время передачи данных.

4. OpenVPN не подключается. Убедитесь, что сертификаты корректно созданы и импортированы, порт открыт, а на клиенте указан правильный сертификат. В RouterOS v6 нет поддержки UDP, поэтому клиент должен использовать TCP.

5. VPN работает, но интернет через VPN не работает. Настройте DNS в профиле PPP и добавьте маршрут по умолчанию через VPN, если это требуется. Также проверьте правила NAT.

Если проблема не решается, включите логирование VPN-соединений: System → Logging, добавьте правила для тем l2tp, ipsec, ovpn.

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

Какой VPN-протокол лучше использовать на MikroTik?

Для большинства сценариев оптимален L2TP/IPsec: он прост в настройке, поддерживается всеми ОС из коробки и обеспечивает надёжное шифрование. OpenVPN более гибок, но в RouterOS v6 работает только по TCP и требует сертификатов. Если нужна максимальная производительность и поддержка современных устройств, рассмотрите WireGuard (RouterOS v7).

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

Да, для доступа к VPN-серверу из интернета необходим публичный (белый) IP-адрес. Если у вас серый IP, можно использовать проброс портов (port forwarding) на роутере провайдера или арендовать VPS и настроить туннель.

Как настроить VPN-подключение на Windows к MikroTik?

Используйте встроенный VPN-клиент Windows: создайте новое подключение типа L2TP/IPsec, укажите IP-адрес сервера, имя пользователя и пароль. В свойствах подключения на вкладке «Безопасность» выберите тип VPN L2TP/IPsec и введите ключ IPsec (pre-shared key), который задан на сервере.

Почему OpenVPN на MikroTik работает медленно?

В RouterOS v6 OpenVPN поддерживает только TCP, что снижает скорость. Кроме того, на MikroTik нет аппаратного ускорения для OpenVPN, поэтому вся нагрузка ложится на CPU. Для повышения скорости используйте L2TP/IPsec или WireGuard.

Как объединить два офиса через MikroTik?

Настройте L2TP/IPsec или OpenVPN между двумя роутерами: один будет сервером, другой — клиентом. Создайте учётные записи, настройте маршруты к удалённым сетям и разрешите VPN-трафик в firewall. Для L2TP/IPsec также укажите ipsec-secret.

Что делать, если VPN-клиент не получает доступ к интернету через VPN?

Проверьте настройки DNS в профиле PPP (укажите DNS-сервер), добавьте маршрут по умолчанию через VPN, если это требуется, и убедитесь, что на сервере настроен NAT для VPN-подсети. Также проверьте правила firewall.

Можно ли использовать MikroTik как VPN-клиент для коммерческого VPN-сервиса?

Да, MikroTik поддерживает подключение к внешним VPN-серверам по протоколам L2TP/IPsec, OpenVPN, PPTP, SSTP и WireGuard (в RouterOS v7). Настройте соответствующий интерфейс клиента и укажите учётные данные от сервиса.