vpn сервер для роутера l2tp
mikrotik настройка openvpn сервера: от генерации CA до kill switch
Title: mikrotik настройка openvpn сервера: полный гайд по RouterOS
Description: Разбираем, как поднимается mikrotik настройка openvpn сервера на RouterOS: сертификаты, firewall, split tunneling и защита от утечек DNS. Забирайте пошаговый чек-лист.
Если вы открыли эту статью, значит, вам нужна рабочая mikrotik настройка openvpn сервера — без воды, без «просто нажмите кнопку» и без магии. На деле всё сводится к четырем блокам: генерация сертификатов, включение PPP‑профиля, проброс портов и правила firewall. Но между этими четырьмя шагами спрятано столько нюансов, что половина гайдов в рунете обрывается на фразе «всё должно заработать». Не заработает. Потому что в RouterOS OpenVPN — это не отдельный сервис, а часть стека PPP, и работает он только по TCP (в классической реализации), любит кривые MTU и требует ручного управления маршрутами. Разберём по шагам, с командами, примерами и честными предупреждениями.
Чего вам НЕ говорят в других гайдах
Большинство материалов про VPN грешат одной болезнью: они продают идею, а не разбирают механику. Вот список вещей, которые обычно опускают.
Бесплатные VPN — это не «экономия», а товар. Аренда VPS в Нидерландах под OpenVPN стоит от 3–5 € в месяц. Серверная инфраструктура, каналы 1 Гбит/с, лицензии, зарплаты — всё это стоит денег. Если вы не платите, платят за вас: вашим трафиком, вашими метаданными, вашей историей. Классика — Hola VPN, которая в 2015 году раздавала IP‑адреса пользователей ботнету для атак на сайты. С тех пор мало что изменилось: бесплатные клиенты часто пишут логи, подменяют рекламу, вшивают трекеры.
Kill switch в RouterOS «из коробки» не работает. Когда туннель падает, трафик не «замирает» — он просто идёт напрямую через WAN. Если вы не настроили firewall с политикой «всё, что не в tun — дроп», ваш IP‑адрес утечёт в тот же момент. И да, многие «защитные» скрипты на форумах MikroTik‑клуба не учитывают переподключение PPP‑сессии: при каждом reconnect правило сбрасывается, и на 2–3 секунды вы снова светитесь.
DNS‑утечки — тихая проблема. OpenVPN может корректно шифровать трафик, но DNS‑запросы Windows или Android пойдут к провайдеру, если вы не прописали dhcp-option DNS в конфиге и не запретили исходящий UDP 53 вне туннеля. Проверка на ipleak.net после подключения часто даёт сюрприз.
WebRTC пробивает любой VPN. Браузеры по умолчанию отдают ваш реальный локальный IP через STUN‑запросы. OpenVPN тут бессилен — нужно либо отключать WebRTC в настройках браузера, либо ставить расширение вроде uBlock Origin с соответствующим фильтром.
Логи по решению суда — это реальность. Если ваш VPS находится в юрисдикции 14 Eyes (Германия, Нидерланды, Франция), провайдер хостинга обязан хранить метаданные. Даже если вы настроили no‑log policy на уровне OpenVPN, на уровне LIR/хостера логи подключения (IP, время, объём) могут храниться 6–12 месяцев. В РФ с «пакетом Яровой» история ещё жёстче: организаторы распространения информации обязаны хранить трафик до 30 суток.
OpenVPN по TCP — это медленно на нестабильных каналах. Head‑of‑line blocking съедает до 30% скорости на мобильных сетях. Если у вас 4G с пингом 80 мс и потерями 2%, TCP‑туннель будет «зажёвывать» пакеты. Для таких сценариев лучше WireGuard или OpenVPN по UDP — но WireGuard в RouterOS появился только с версии 7, и его поддержка всё ещё сырая.
Почему именно MikroTik, а не Keenetic или роутер за 1500 ₽
Keenetic — отличный выбор для дома, но у него есть потолок: ограниченный CPU, закрытая KeenOS, отсутствие полноценного firewall с raw‑правилами. MikroTik на RouterOS — это, по сути, Linux‑машина с сетевым стеком. Вы получаете:
- Полный контроль над iptables (в RouterOS — /ip firewall)
- Возможность поднимать несколько VPN‑серверов параллельно (OpenVPN, L2TP, SSTP, WireGuard)
- BGP, OSPF, VLAN, policy routing — всё из коробки
- Аппаратное ускорение AES на моделях с RB‑suffix (например, RB5009)
- Hotspot, captive portal, user manager — для корпоративных сценариев
Цена вопроса: RB750Gr3 на вторичке стоит 4000–6000 ₽, нового — около 9000 ₽. Этого достаточно, чтобы поднять OpenVPN на 10–15 клиентов с гигабитным каналом.
Но есть и минусы. Порог входа высокий: интерфейс WinBox непривычен, документация сухая, а сообщество рунета разбросано по форумам 2010‑х. Если вы никогда не работали с RouterOS, закладывайте 2–3 часа на эксперименты в тестовой среде.
Подготовка: сертификаты, CA и ключи Diffie-Hellman
OpenVPN в RouterOS работает только с сертификатами — никаких «username/password» без TLS. Поэтому первый шаг — создать инфраструктуру открытых ключей прямо на роутере.
Шаг 1 — корневой центр сертификации
Заходим в WinBox, открываем терминал и выполняем:
/certificate
add name=CA-OpenVPN common-name=CA-OpenVPN key-usage=key-cert-sign,crl-sign key-size=2048 days-valid=3650
sign CA-OpenVPN
Мы создали корневой CA с сроком действия 10 лет. key-usage=key-cert-sign,crl-sign — обязательные флаги, без них сертификат не сможет подписывать другие.
Шаг 2 — серверный сертификат
/certificate
add name=server common-name=server key-usage=tls-server key-size=2048 days-valid=3650
sign server ca=CA-OpenVPN
Важно: key-usage=tls-server. Если забыть этот флаг, OpenVPN‑демон откажется принимать сертификат, и в логах будет висеть TLS Error: cannot verify certificate.
Шаг 3 — генерация Diffie-Hellman параметров
В отличие от классического OpenVPN, где нужен отдельный dh.pem, в RouterOS DH‑параметры генерируются автоматически при создании профиля. Но если вы хотите использовать свои (например, 4096‑битные), создайте отдельный сертификат с key-usage=dh:
/certificate
add name=dh common-name=dh key-usage=dh key-size=4096
sign dh
Генерация 4096‑битного DH на слабом RB750 займёт 5–10 минут. В это время CPU будет загружен на 100%, и трафик через роутер может подтормаживать. Не пугайтесь — это нормально.
Шаг 4 — клиентские сертификаты
Для каждого клиента — свой сертификат:
/certificate
add name=client-ivan common-name=client-ivan key-usage=tls-client key-size=2048 days-valid=3650
sign client-ivan ca=CA-OpenVPN
Экспортируйте клиентский сертификат и CA в формате .p12 или отдельно .crt + .key, чтобы импортировать в OpenVPN‑клиент. В WinBox это делается через меню Certificates → правый клик → Export.
Настройка OpenVPN‑сервера в RouterOS
Теперь переходим к самому серверу. В RouterOS OpenVPN — это часть PPP‑стека, поэтому настраивается через /ppp profile и /interface ovpn-server.
Создаём PPP‑профиль
/ppp profile
add name=vpn-profile local-address=10.10.10.1 remote-address=vpn-pool \
dns-server=1.1.1.1,8.8.8.8 use-encryption=yes
Разберём по полям:
- local-address — IP самого туннеля со стороны роутера
- remote-address=vpn-pool — ссылка на пул адресов для клиентов (его надо создать отдельно)
- dns-server — какие DNS пушить клиентам (об этом ниже)
- use-encryption=yes — обязательно, иначе трафик пойдёт открытым
Создаём пул:
/ip pool
add name=vpn-pool ranges=10.10.10.100-10.10.10.200
Включаем сам OpenVPN‑сервер
/interface ovpn-server server
set auth=sha256 cipher=aes-256-cbc default-profile=vpn-profile enabled=yes \
mac-address=02:00:00:00:00:00 port=1194 require-client-certificate=yes
Ключевые параметры:
- auth=sha256 — HMAC для контроля целостности
- cipher=aes-256-cbc — шифрование канала. Можно aes-256-gcm, но CBC стабильнее на старых клиентах
- port=1194 — стандартный, но лучше сменить на нестандартный (например, 4444) для обхода DPI
- require-client-certificate=yes — без сертификата клиент не подключится
Создаём PPP‑секрет для клиента
/ppp secret
add name=client-ivan password=SuperSecretPass123 profile=vpn-profile service=ovpn
name должен совпадать с common-name клиентского сертификата. Это частая ошибка: сертификаты есть, а секрет с таким же именем не создан — авторизация не проходит.
Firewall и NAT: чтобы клиенты выходили в интернет
По умолчанию клиенты OpenVPN видят только локальную сеть роутера. Чтобы они выходили в интернет через ваш канал, нужно два правила.
Маскарадинг (NAT)
/ip firewall nat
add chain=srcnat out-interface=ether1-gateway action=masquerade
Это правило «прячет» все внутренние адреса за внешним IP. Если у вас уже есть маскарадинг для LAN, правило для VPN добавится автоматически — но проверьте, что out-interface указывает на правильный WAN.
Разрешаем трафик из туннеля
/ip firewall filter
add chain=forward action=accept in-interface=ovpn-out comment="Allow VPN clients"
Без этого правила пакеты из туннеля будут дропаться дефолтной политикой drop.
Открываем порт 1194 на WAN
/ip firewall filter
add chain=input action=accept in-interface=ether1-gateway protocol=udp dst-port=1194
Классический OpenVPN по умолчанию работает по UDP. Если вы поставили TCP — меняйте protocol=tcp.
Split tunneling — пускаем только нужное
Не всегда нужно гнать весь трафик через VPN. Иногда достаточно доступа к корпоративной подсети или разблокировки конкретного ресурса. В RouterOS это делается через push‑маршруты.
В PPP‑профиль добавляем:
/ppp profile
set vpn-profile remote-address=vpn-pool-local \
dhcp-option="classless-static-route,0.0.0.0/0 10.10.10.1,10.20.0.0/16 10.10.10.1"
Но проще — на стороне клиента прописать маршруты в .ovpn‑файле:
route 10.20.0.0 255.255.0.0
route-gateway 10.10.10.1
Теперь через туннель пойдёт только трафик в подсеть 10.20.0.0/16, а всё остальное — напрямую. Это экономит канал и снижает задержку для обычных задач.
Сценарий: у вас офис в Москве с подсетью 10.20.0.0/16, а вы работаете из Краснодара. Подключаетесь к домашнему MikroTik, и только корпоративный трафик идёт через Москву. Zoom, браузер, мессенджеры — напрямую, без потерь скорости.
Защита от утечек DNS и WebRTC
Даже с правильно настроенным VPN утечки возможны. Разберём основные векторы.
DNS‑утечки
Проблема: клиент отправляет DNS‑запросы не на 1.1.1.1, который мы запушили, а на DNS провайдера. Причины:
- В Windows «умный» multihomed DNS резолвер игнорирует настройки VPN
- Android иногда сохраняет кэш DNS от предыдущего подключения
- Браузер использует DoH (DNS over HTTPS) от Google или Cloudflare, минуя системные настройки
Решение на уровне RouterOS — запретить исходящий UDP 53 для клиентов VPN, кроме самого роутера:
/ip firewall filter
add chain=forward action=drop in-interface=ovpn-out protocol=udp dst-port=53 \
src-address=!10.10.10.1 comment="Block DNS leak"
Но это жёсткая мера — клиенты вообще не смогут резолвить домены. Поэтому правильнее пушить DNS через dhcp-option и на клиенте принудительно отключать DoH в браузере.
WebRTC
WebRTC использует STUN‑серверы для определения «кандидатов» ICE — и среди них часто оказывается реальный локальный IP. Проверка на browserleaks.com/webrtc это сразу покажет.
Защита:
- В Firefox: about:config → media.peerconnection.enabled → false
- В Chrome: расширение uBlock Origin → настройки → отключить WebRTC
- На уровне сети: блокировать UDP‑порты 10000–60000 на firewall (но это сломает многие VoIP‑сервисы)
Kill switch: что делать, если туннель упал
Kill switch — это механизм, который блокирует весь трафик, если VPN неактивен. В клиентских приложениях (OpenVPN GUI, Viscosity) он реализован на уровне ОС. Но если вы хотите надёжности — настраивайте на самом роутере.
Идея: разрешить исходящий трафик только с адресов VPN‑пула, если клиент подключён. Звучит сложно, но реализуется через connection marks.
/ip firewall mangle
add chain=prerouting in-interface=ovpn-out action=mark-connection \
new-connection-mark=vpn-conn passthrough=yes
/ip firewall filter
add chain=forward action=accept connection-mark=vpn-conn
add chain=forward action=drop comment="Default drop"
Но есть нюанс: при переподключении PPP‑сессии метки могут сброситься, и на 1–2 секунды трафик пойдёт напрямую. Чтобы этого избежать, добавляют скрипт на On Up / On Down события PPP‑профиля:
/ppp profile
set vpn-profile on-up="/ip firewall filter disable [find comment=\"Default drop\"]" \
on-down="/ip firewall filter enable [find comment=\"Default drop\"]"
Теперь при падении туннеля правило drop включается автоматически, и трафик блокируется до переподключения.
Сравнение протоколов: OpenVPN, WireGuard, IPsec
Чтобы понимать, когда OpenVPN — правильный выбор, а когда нет, сравним его с альтернативами.
| Критерий | OpenVPN (TCP/UDP) | WireGuard | IPsec IKEv2 |
|---|---|---|---|
| Поддержка в RouterOS | С версии 6.x, стабильно | С версии 7.x, сыровато | С версии 6.x, стабильно |
| Шифрование | AES‑256‑CBC/GCM, RSA 2048+ | ChaCha20, Curve25519 | AES‑256‑GCM, DH 2048+ |
| Perfect Forward Secrecy | Да, через DH/ECDH | Да, встроено по умолчанию | Да, через DH‑группы |
| Скорость на 100 Мбит/с канале | 70–85 Мбит/с (UDP) | 95–97 Мбит/с | 80–90 Мбит/с |
| Пинг‑надбавка | +3–5 мс | +1–2 мс | +2–4 мс |
| Работа на нестабильных сетях | Плохо (TCP), средне (UDP) | Отлично (быстрый handoff) | Средне |
| Мобильные клиенты | Есть, но тяжёлый | Нативно в iOS/Android | Нативно в iOS/Windows |
| Обход DPI | Средне (если порт 443/TCP) | Плохо (характерный handshake) | Плохо (SPI‑трафик виден) |
| Аудит кода | Да, открытый, проверен | Да, Cure53 (2018, 2023) | Зависит от реализации |
Вывод по таблице: для статичных подключений (офис‑филиал, домашний сервер) — WireGuard быстрее и проще. Для мобильных клиентов в дороге — OpenVPN по UDP или IKEv2. Для обхода DPI в РФ — OpenVPN по TCP на порту 443, замаскированный под HTTPS, либо Shadowsocks/V2Ray как дополнение.
Сценарии: когда это реально спасает
Технология без контекста — просто набор команд. Давайте посмотрим, как mikrotik настройка openvpn сервера решает конкретные задачи.
Журналист в командировке
Вы едете в регион, где местные власти могут по решению суда запросить у провайдера историю ваших подключений. Схема: домашний MikroTik в Москве → OpenVPN по TCP 443 → ноутбук с OpenVPN‑клиентом. Провайдер в регионе видит только HTTPS‑трафик на ваш домашний IP. Метаданные (IP журналиста, время) хранятся только на вашем роутере, а не у провайдера хостинга (если VPS в дружественной юрисдикции).
Важно: это не защищает от атак уровня оператора связи (DPI, SORM). Для серьёзных задач нужен TOR поверх VPN, а лучше — Tails OS на отдельном устройстве.
Айтишник на кофеварке в кафе
Публичный Wi‑Fi — рассадник ARP‑spoofing и MitM‑атак. Подключаетесь к OpenVPN, и весь трафик шифруется дважды: сначала TLS‑туннель, потом HTTPS внутри. Даже если админ кафе поставил Wireshark, он увидит только зашифрованные пакеты на ваш домашний IP.
Нюанс: не забывайте про captive portal. В многих отелях и кафе авторизация идёт через браузер, а VPN блокирует перенаправление. Решение — добавить в firewall правило, разрешающее порт 80/443 до MAC‑адреса шлюза кафе до подключения VPN.
Пользователь торрентов
Торренты — отдельная история. OpenVPN не подходит для P2P: TCP‑туннель убивает скорость, а UDP‑туннель на слабом роутере не вытянет 50+ пиров. Плюс торрент‑клиент открывает десятки портов, и если вы не настроили bind на адрес туннеля, трафик пойдёт напрямую — с вашим реальным IP.
Правильная схема: торрент‑клиент на отдельной машине, все исходящие — только через tun0, при падении VPN — kill switch на уровне iptables. Либо использовать специализированные сервисы (но это уже не про mikrotik настройка openvpn сервера).
Обход блокировки мессенджера
Telegram, Discord, некоторые зеркала — блокируются по IP через DPI. OpenVPN по UDP 1194 часто режется сразу. Рабочая схема: OpenVPN по TCP 443, с cipher=aes-256-gcm и compress lzo отключённым (чтобы трафик был похож на обычный HTTPS). Плюс mssfix 1300 для корректной фрагментации.
Корпоративная защита филиалов
Два офиса, между ними — интернет. Нужно, чтобы бухгалтерия из филиала видела 1С в головном офисе, но не имела доступа к остальной сети. Схема: site‑to‑site OpenVPN между двумя MikroTik, на каждом — firewall rules, разрешающие только подсеть 10.30.0.0/24 (бухгалтерия) к подсети 10.20.0.0/24 (1С‑сервер). Остальное — drop.
FAQ
Насколько реально VPN замедляет интернет?
Зависит от протокола и железа. OpenVPN по UDP на RB750Gr3 съедает 15–25% скорости канала из-за шифрования AES‑256 в софте. WireGuard на том же роутере — 3–5%. На x86‑сервере (Intel C2xxx и выше) разница незаметна: гигабитный канал остаётся гигабитным. Пинг вырастает на 2–10 мс в зависимости от удалённости сервера.
Могут ли меня найти спецслужбы, если я использую VPN?
VPN скрывает ваш трафик от провайдера, но не делает вас невидимым. Если сервер в юрисдикции 14 Eyes, по решению суда хостер выдаст метаданные подключений. Если вы платили картой — есть финансовый след. Анонимность требует комплекса: криптовалюта, VPS в нейтральной стране (Молдова, Малайзия), оплата через миксеры, и даже тогда — никаких гарантий.
WireGuard или OpenVPN — что безопаснее?
С точки зрения криптографии — WireGuard современнее: ChaCha20‑Poly1305, Curve25519, минимальный код (около 4000 строк против 100 000 у OpenVPN). Меньше кода — меньше поверхность для атак. Но OpenVPN проверен временем, имеет независимые аудиты и лучше работает в условиях DPI. Для обхода блокировок в РФ — OpenVPN по TCP 443. Для скорости — WireGuard.
Почему OpenVPN в RouterOS работает только по TCP?
Это ограничение реализации PPP‑стека в RouterOS до версии 7. Классический OpenVPN поддерживает и TCP, и UDP, но MikroTik исторически использовал только TCP‑транспорт. С версии 7.x появилась поддержка UDP, но она всё ещё считается экспериментальной. Если вам критична скорость — используйте WireGuard или вынесите OpenVPN на отдельный Linux‑сервер за MikroTik.
Как проверить, нет ли утечек DNS и IP?
После подключения VPN откройте ipleak.net и browserleaks.com/ip. Проверьте три вещи: IPv4‑адрес (должен быть сервера VPN), IPv6 (должен быть отключён или тоже VPN), DNS‑серверы (1.1.1.1 или 8.8.8.8, а не провайдерские). Отдельно проверьте WebRTC на browserleaks.com/webrtc — браузер часто отдаёт реальный IP даже через VPN.
Можно ли на одном MikroTik поднять OpenVPN и WireGuard одновременно?
Да, RouterOS позволяет запускать несколько VPN‑серверов параллельно. OpenVPN на порту 1194/UDP или 443/TCP, WireGuard на 51820/UDP. Главное — развести PPP‑профили и пулы адресов, чтобы клиенты не пересекались. На слабом RB750Gr3 одновременно 5 OpenVPN‑клиентов и 10 WireGuard — потолок по CPU.
Что делать, если клиент не подключается — с чего начинать диагностику?
Чек‑лист: (1) порт открыт — проверьте `telnet ваш_IP 1194`; (2) сертификат валиден — в WinBox `Certificates` → статус `valid`; (3) имя секрета совпадает с `common-name` сертификата; (4) в логе `/log topic=ovpn` нет ошибок TLS; (5) на клиенте в логе OpenVPN нет `TLS Error: cannot verify certificate`. В 90% случаев проблема в пунктах 2 или 3.
Обязательно ли использовать сертификаты, можно ли логин‑пароль?
В RouterOS — обязательно. Реализация OpenVPN в MikroTik не поддерживает auth‑user‑pass без TLS. Это сделано из соображений безопасности: пароль можно перехватить или подобрать, сертификат — нет. Если вам нужно массовое подключение пользователей (гостевой Wi‑Fi, филиалы), используйте SSTP или L2TP — там есть поддержка PAP/CHAP.
Вывод
mikrotik настройка openvpn сервера — это не «поставить галочку и забыть». Это инфраструктурная задача, которая требует понимания сертификатов, firewall, маршрутизации и ограничений самого RouterOS. Если вы готовы потратить вечер на генерацию CA, проброс портов и отладку kill switch — получите гибкий инструмент, который закроет задачи от удалённого доступа до обхода DPI. Если нужна скорость и простота — смотрите в сторону WireGuard на RouterOS 7 или вынесите VPN на отдельный VPS.
Главное правило: не доверяйте гайдам на слово. Проверяйте утечки на ipleak.net, тестируйте kill switch отключением интерфейса, смотрите логи /log topic=ovpn. И помните: ни один VPN не делает вас анонимным. Он делает вас защищённым — и это разные вещи.
This reads like a checklist, which is perfect for promo code activation. Good emphasis on reading terms before depositing.
Easy-to-follow structure and clear wording around common login issues. The sections are organized in a logical order. Overall, very useful.
Thanks for sharing this. It would be helpful to add a note about regional differences.