Зачем нужен 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 необходимо выполнить несколько подготовительных шагов.
- Публичный IP-адрес. VPN-сервер должен быть доступен из интернета, поэтому требуется белый (статический) IP-адрес на WAN-интерфейсе роутера. Если провайдер выдаёт серый IP, потребуется проброс портов или использование VPS-сервера в качестве ретранслятора.
- Обновление RouterOS. Убедитесь, что на роутере установлена актуальная версия RouterOS. В старых версиях могут быть ошибки и уязвимости. Проверить и обновить можно через WebFig или WinBox: System → Packages.
- Планирование IP-адресации. Определите подсеть для VPN-клиентов, например 192.168.10.0/24. Выделите пул адресов, которые будут выдаваться клиентам, например 192.168.10.100-192.168.10.150. Также решите, какой адрес будет у самого сервера в VPN-сети (local address), например 192.168.10.1.
- Создание учётных записей. Для каждого VPN-пользователя нужно создать логин и пароль. Для межсетевых соединений (site-to-site) можно использовать отдельные учётные записи с фиксированными IP-адресами.
- Настройка 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.25. Настройка 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-клиент.
- Откройте «Панель управления» → «Сеть и Интернет» → «Центр управления сетями и общим доступом» → «Создание нового подключения или сети».
- Выберите «Подключение к рабочему месту» → «Использовать моё подключение к Интернету (VPN)».
- Введите IP-адрес или доменное имя вашего MikroTik-сервера.
- Введите имя пользователя и пароль, созданные на сервере.
- Нажмите «Создать».
После создания подключения необходимо настроить параметры 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-аутентификации. Тем не менее, это надёжный и гибкий протокол.
Создание сертификатов.
- Перейдите в System → Certificates.
- Создайте самоподписанный корневой сертификат (CA):
- Name: CA;
- Common Name: ca.example.com;
- Key Size: 2048;
- Days Valid: 3650.
- Подпишите его (Sign), указав CA CRL Host (доменное имя для списка отзыва).
- Создайте сертификат сервера:
- Name: ServerOVPN;
- Common Name: vpn.example.com;
- Key Usage: tls server.
- Подпишите его корневым сертификатом.
Создание профиля 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.
- Перейдите в PPP → Interface → OVPN Client.
- Заполните параметры:
- Connect To: IP-адрес или домен сервера;
- Port: порт (обычно 1194);
- User/Password: учётные данные;
- Certificate: если требуется проверка сервера, укажите сертификат CA;
- Cipher: алгоритм шифрования (например, aes256).
- Включите интерфейс.
Если сервер требует клиентский сертификат, его необходимо импортировать на роутер. Для этого:
- Экспортируйте сертификат и ключ с сервера (или с другого устройства) в формате 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). Настройте соответствующий интерфейс клиента и укажите учётные данные от сервиса.