Зачем нужны два VPN-подключения на одном роутере
Один VPN-канал — это единая точка отказа. Если провайдер VPN блокирует протокол, сервер перегружен или у вас заканчивается трафик, доступ в интернет может полностью пропасть. Настройка двух VPN-подключений на MikroTik решает эту проблему: при падении основного канала трафик автоматически переключается на резервный.
Два VPN также позволяют разделять трафик: например, часть устройств или подсетей направляется через один туннель, а остальное — через другой. Это удобно для гостевых сетей, для доступа к корпоративным ресурсам или для обхода региональных ограничений.
В этой статье мы разберём несколько сценариев: горячее резервирование, балансировка нагрузки, разделение по источникам и по назначению. Также рассмотрим, какие протоколы лучше всего подходят для MikroTik и как настроить автоматическое переключение.
Какие VPN-протоколы поддерживает MikroTik
RouterOS поддерживает множество VPN-протоколов, и выбор зависит от ваших задач.
L2TP/IPsec — один из самых популярных вариантов. Он прост в настройке, поддерживается практически всеми устройствами и обеспечивает надёжное шифрование. L2TP работает поверх UDP-порта 1701, а IPsec добавляет шифрование. Это хороший выбор для объединения офисов или подключения удалённых сотрудников.
OpenVPN — гибкий протокол, но в MikroTik он работает только по TCP, что снижает скорость. Тем не менее, он полезен для совместимости с существующими серверами.
WireGuard — современный протокол с высокой производительностью. В RouterOS он встроен, но для AmneziaWG (форка WireGuard с дополнительным шифрованием) требуется контейнер-прокси.
VLESS+Reality — протокол, используемый в прокси-серверах sing-box. Он маскирует трафик под обычный HTTPS и эффективно обходит DPI. Для работы на MikroTik нужен контейнер с sing-box.
Также доступны PPTP, SSTP, GRE и EoIP, но они либо устарели, либо имеют ограничения. Например, PPTP легко взламывается, а SSTP требователен к ресурсам процессора.
Для резервирования лучше выбирать протоколы, которые работают через разные порты и используют разные методы маскировки — так вы снижаете риск одновременной блокировки.
Схема с двумя VPN-провайдерами: AmneziaWG и VLESS+Reality
Один из практичных сценариев — использование двух разных VPN-протоколов на одном роутере. Например, основной канал — AmneziaWG, резервный — VLESS+Reality. Это позволяет пережить блокировку одного из протоколов, так как они используют разные методы шифрования и маскировки.
Для реализации потребуется MikroTik с поддержкой контейнеров (архитектуры arm64, arm32 или x86). Например, hAP ax2 с 1 ГБ RAM и 128 МБ встроенной памяти. На роутере создаётся bridge для контейнеров, отдельная таблица маршрутизации и настраиваются два VPN-интерфейса.
AmneziaWG настраивается через встроенный WireGuard-клиент и контейнер-прокси amneziawg-proxy-mikrotik. VLESS+Reality требует запуска sing-box в контейнере. Оба туннеля работают одновременно, но активен только один — основной. При его падении маршрутизация автоматически переключается на резервный.
Такая схема особенно полезна, когда нет возможности оперативно обновлять конфигурацию на роутере — например, если он установлен у родственников в другом городе. Достаточно один раз настроить резервирование, и система сама будет поддерживать доступ.
Настройка L2TP/IPsec сервера и клиента на MikroTik
L2TP/IPsec — классический вариант для организации VPN между двумя MikroTik или для подключения удалённых клиентов. Настройка сервера включает создание пула IP-адресов, пользователя в PPP Secrets, включение L2TP-сервера и настройку IPsec.
Для сервера нужно:
- Создать пул адресов (IP → Pool).
- Добавить пользователя в PPP → Secrets.
- Включить L2TP-сервер (PPP → L2TP Server), указав пул и параметры аутентификации.
- Настроить IPsec (для шифрования).
- Создать L2TP Server Binding для постоянного интерфейса.
- Добавить статический маршрут к удалённой сети.
На клиенте создаётся L2TP-интерфейс (PPP → L2TP Client), указываются адрес сервера, логин и пароль. После подключения добавляется маршрут к сетям за сервером.
Важно открыть в firewall порты UDP 1701, 500, 4500 и разрешить протокол esp. Без этого соединение не установится.
L2TP/IPsec работает через NAT, поэтому подходит для подключения из-за динамических адресов.
Разделение трафика между двумя VPN: политики маршрутизации
Когда два VPN-туннеля активны одновременно, нужно решить, какой трафик пойдёт через какой туннель. Для этого в MikroTik используются policy routing (mangle) и несколько таблиц маршрутизации.
Создаются две таблицы маршрутизации, например, vpn1-routes и vpn2-routes. В каждой таблице указывается маршрут по умолчанию через соответствующий VPN-интерфейс. Затем в firewall mangle помечаются пакеты по определённым правилам: по IP-адресу источника, по порту назначения, по DSCP-метке или по домену.
Пример: трафик от гостевой сети (192.168.88.0/24) направляется через первый VPN, а от основной сети — через второй. Или: трафик к заблокированным ресурсам (список подсетей) идёт через VPN, а остальной — напрямую.
Для автоматического обновления списков подсетей можно использовать скрипты и планировщик задач. Это удобно, когда список блокируемых ресурсов часто меняется.
Важно помнить, что при использовании нескольких таблиц маршрутизации нужно правильно настроить NAT (masquerade) для каждого интерфейса, иначе пакеты не будут корректно выходить в интернет.
Горячее резервирование: автоматическое переключение между VPN
Горячее резервирование подразумевает, что при падении основного VPN-канала трафик автоматически переключается на резервный, и пользователи не замечают сбоя.
В MikroTik это реализуется с помощью нескольких маршрутов по умолчанию с разными distance (метриками). Основной VPN имеет меньший distance (например, 1), резервный — больший (например, 2). Пока основной канал работает, используется он. Как только он пропадает, маршрут удаляется из таблицы, и активируется резервный.
Однако просто установить distance недостаточно — нужно, чтобы маршрут считался активным только при реальной работе туннеля. Для этого используются скрипты, которые проверяют доступность удалённого шлюза (например, ping до адреса внутри VPN) и при необходимости отключают/включают интерфейс.
Также можно использовать recursive routing (recursive gateway) — когда маршрут зависит от доступности другого маршрута. Это более сложный, но надёжный способ.
В случае с двумя VPN-провайдерами, работающими на разных протоколах, резервирование особенно эффективно: если один протокол заблокирован, второй продолжает работать.
Балансировка нагрузки между двумя VPN-каналами
Если оба VPN-канала активны и вы хотите использовать их одновременно для увеличения пропускной способности, можно настроить балансировку нагрузки.
В MikroTik для этого используются правила mangle, которые распределяют новые соединения между двумя таблицами маршрутизации. Например, можно разделять по номеру соединения (connection-mark) или по IP-адресу источника.
Простой способ — использовать PCC (Per Connection Classifier). Он позволяет разбивать трафик на несколько классов и направлять каждый класс через свой канал.
Пример: 50% соединений идёт через VPN1, 50% — через VPN2. Это увеличивает суммарную скорость, но не гарантирует стабильность для отдельных приложений (например, видеозвонки могут страдать).
Балансировка нагрузки требует тщательной настройки и тестирования. Если один из каналов нестабилен, лучше использовать резервирование, а не балансировку.
Использование контейнеров для VPN-клиентов на MikroTik
Современные версии RouterOS поддерживают запуск Docker-контейнеров. Это открывает возможность использовать на роутере VPN-клиенты, которые не встроены в RouterOS, например, AmneziaWG или sing-box для VLESS+Reality.
Для работы с контейнерами необходимо:
- Установить пакет container.
- Включить поддержку контейнеров в device-mode.
- Настроить docker registry и tmpdir.
- Создать bridge для контейнеров и назначить ему IP-адрес.
Контейнеры запускаются как отдельные процессы и получают доступ к сети через bridge. Для каждого VPN-клиента создаётся свой контейнер, который подключается к внешнему серверу.
Например, контейнер amneziawg-proxy-mikrotik преобразует трафик AmneziaWG в обычный WireGuard, который уже поддерживается RouterOS. А контейнер sing-box работает как прокси для VLESS+Reality.
Использование контейнеров требует достаточного объёма RAM и дискового пространства. На бюджетных моделях (например, hAP ax2) это работает, но на старых устройствах с 64 МБ RAM может быть проблематично.
Практические примеры: настройка двух VPN на MikroTik
Рассмотрим два типовых сценария.
Сценарий 1: Два L2TP/IPsec туннеля на разных провайдерах. Если у вас два интернет-провайдера (например, два LTE-модема), можно настроить два L2TP-клиента, каждый из которых использует своего провайдера. Для этого нужно создать две таблицы маршрутизации и в mangle пометить трафик, исходящий от каждого WAN-интерфейса.
Проблема в том, что PPP-клиент в MikroTik нельзя явно привязать к интерфейсу. Решение — использовать разные порты назначения на сервере (например, L2TP на порту 1701 и SSTP на 443) и разделять их по dst-port.
Сценарий 2: AmneziaWG + VLESS+Reality с резервированием. Настраивается основной туннель AmneziaWG и резервный VLESS+Reality. Для каждого создаётся своя таблица маршрутизации. Основной маршрут имеет distance 1, резервный — 2. При падении основного туннеля маршрут автоматически удаляется, и трафик идёт через резервный.
Также настраивается split-routing: трафик к заблокированным ресурсам идёт через VPN, остальной — напрямую. Для этого используется список подсетей, который обновляется по расписанию.
Эти примеры показывают, что MikroTik даёт большую гибкость, но требует понимания сетевых технологий.
Типичные ошибки и ограничения при настройке двух VPN
При настройке нескольких VPN на MikroTik часто допускают ошибки.
Неправильная маршрутизация. Если не создать отдельные таблицы маршрутизации, трафик может пойти не через тот туннель. Важно проверять таблицу маршрутов (routing table) и метки.
Проблемы с NAT. Для каждого VPN-интерфейса нужно настроить masquerade, иначе пакеты не будут возвращаться.
Конфликты IP-адресов. Если VPN-сети пересекаются с локальными, возникают проблемы с маршрутизацией. Используйте разные подсети.
Недостаточная производительность. Шифрование VPN нагружает процессор. На слабых моделях скорость будет низкой. Например, SSTP на бюджетных MikroTik работает медленно.
Ограничения контейнеров. Не все модели поддерживают контейнеры, а на старых версиях RouterOS могут быть баги.
Сложность отладки. При использовании двух VPN сложно понять, какой канал работает. Используйте инструменты ping, torch и логи.
Также стоит помнить, что если оба VPN-канала используют один и тот же протокол и один сервер, то при блокировке протокола оба перестанут работать. Поэтому для резервирования лучше выбирать разные протоколы и разные серверы.
Вопросы и ответы
Можно ли настроить два VPN-подключения на MikroTik одновременно?
Да, MikroTik поддерживает одновременную работу нескольких VPN-туннелей. Вы можете создать несколько интерфейсов (L2TP, OpenVPN, WireGuard и т.д.) и настроить маршрутизацию так, чтобы они работали параллельно или в режиме резервирования. Для этого используются отдельные таблицы маршрутизации и правила mangle.
Как сделать автоматическое переключение между двумя VPN на MikroTik?
Для автоматического переключения используется несколько маршрутов по умолчанию с разными distance. Основной VPN имеет меньший distance (например, 1), резервный — больший (например, 2). Когда основной туннель падает, маршрут удаляется, и активируется резервный. Дополнительно можно настроить скрипты, которые проверяют доступность шлюза и управляют интерфейсами.
Какой VPN-протокол лучше выбрать для MikroTik?
Для MikroTik чаще всего рекомендуют L2TP/IPsec из-за простоты настройки и совместимости. Если нужна высокая скорость, используйте WireGuard. Для обхода блокировок подходят AmneziaWG и VLESS+Reality, но они требуют контейнеров. OpenVPN работает только по TCP, что снижает скорость, поэтому его используют реже.
Можно ли разделить трафик между двумя VPN на MikroTik?
Да, для этого используется policy routing. Создаются несколько таблиц маршрутизации, и в firewall mangle помечаются пакеты по определённым критериям (IP источника, порт назначения, DSCP и т.д.). Затем для каждой метки назначается своя таблица маршрутизации. Это позволяет направлять, например, гостевой трафик через один VPN, а основной — через другой.
Какие ограничения у MikroTik при использовании двух VPN?
Основные ограничения связаны с производительностью процессора и объёмом памяти. Шифрование VPN нагружает CPU, поэтому на бюджетных моделях скорость будет ниже. Также не все модели поддерживают контейнеры, что ограничивает использование AmneziaWG и VLESS+Reality. Кроме того, нужно правильно настраивать NAT и маршрутизацию, иначе возможны конфликты.
Нужно ли настраивать NAT для каждого VPN-интерфейса?
Да, если вы используете несколько VPN-туннелей и хотите, чтобы устройства из локальной сети могли выходить в интернет через любой из них, необходимо настроить masquerade для каждого VPN-интерфейса. В противном случае пакеты не будут корректно маршрутизироваться обратно.