WireGuard на Mikrotik и Keenetic: типичные проблемы
Настроить WireGuard на телефоне или ноутбуке — дело пяти минут: поставили приложение, вставили конфиг, готово. На домашнем роутере всё иначе: готового приложения нет, есть либо непривычный интерфейс Mikrotik, либо более простой, но всё равно незнакомый веб-интерфейс Keenetic — и туннель, который поднимается, но не пропускает трафик, самая частая жалоба именно у роутеров. Разберём по шагам, как настроить WireGuard-клиент на обоих устройствах и почему после, казалось бы, успешного подключения интернет всё равно не работает.
Содержание
- Зачем вообще настраивать VPN на роутере, а не на каждом устройстве
- Mikrotik RouterOS: подключение через Winbox
- Mikrotik: то же самое через командную строку
- Keenetic: настройка через веб-интерфейс
- Главная ошибка: рукопожатие есть, а интернета нет
- NAT на роутере: чтобы вся локальная сеть шла через туннель
- Что ломается после обновления прошивки роутера
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Зачем вообще настраивать VPN на роутере, а не на каждом устройстве
Если в доме один компьютер и один телефон, проще поставить приложение WireGuard на каждый из них — пара минут. Но если устройств много (ноутбук, телефон, планшет, смарт-ТВ, консоль), а на часть из них приложение VPN вообще не поставить, остаётся один вариант — завернуть весь трафик дома через туннель на самом роутере. Настроили один раз — и все устройства в сети выходят в интернет через VPN автоматически, без отдельной настройки на каждом.
Плата за это — сложность настройки. Роутер — не конечное устройство, а маршрутизатор: он должен не просто подключиться к VPN-серверу, а ещё и решить, куда направлять пакеты от каждого устройства локальной сети. Именно на этом шаге чаще всего и спотыкаются: подключение к серверу устанавливается, а трафик до конечных устройств не доходит. Общую логику такой настройки мы разбирали в статье про VPN на роутере для всего дома; здесь — конкретика по двум самым частым брендам: Mikrotik и Keenetic.
Прежде чем начинать, у вас уже должен быть готовый WireGuard-сервер — например, на своём VPS. Если сервера ещё нет, настройте его сначала: как это сделать с нуля, описано в статье про установку WireGuard на VPS. Дальше считаем, что сервер уже поднят, у вас есть его публичный ключ, IP-адрес, порт и диапазон адресов VPN-сети (например, 10.10.10.0/24).
Mikrotik RouterOS: подключение через Winbox
Winbox — фирменная программа для настройки роутеров Mikrotik с компьютера (Windows, через Wine работает и на Mac/Linux). Скачивается с официального сайта mikrotik.com, запускается без установки — просто exe-файл. При запуске Winbox сканирует локальную сеть и показывает список роутеров по MAC-адресу; кликаете по нужному, вводите логин (по умолчанию admin, пароль — с наклейки на роутере или пустой при первом входе). Дальше в дереве слева ищите пункт WireGuard.
- На вкладке WireGuard нажмите
+и создайте новый интерфейс, напримерwg-out. RouterOS сам сгенерирует пару ключей — приватный останется на роутере, публичный скопируйте и добавьте на сервере в список разрешённых клиентов (peer). - Перейдите на вкладку Peers, нажмите
+и добавьте запись: интерфейс — тот, что создали,Endpoint— IP-адрес вашего сервера,Endpoint Port— порт WireGuard на сервере (обычно51820),Allowed Address—0.0.0.0/0(это значит «через этот туннель может идти любой адрес назначения»),Public Key— публичный ключ сервера. ПолеPersistent Keepaliveпоставьте в25— это заставляет роутер раз в 25 секунд слать пустой пакет серверу, чтобы соединение не «засыпало» на NAT провайдера. - Зайдите в
IP → Addresses, добавьте адрес самого интерфейсаwg-outвнутри VPN-сети, например10.10.10.2/24.
После этого на вкладке WireGuard в колонке рядом с интерфейсом должна появиться зелёная точка и время последнего рукопожатия (handshake) — это значит, что криптографическое согласование с сервером прошло успешно. Но на этом этапе интернета через туннель ещё не будет — маршрутизацию нужно настроить отдельно, об этом ниже.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSMikrotik: то же самое через командную строку
Если вам удобнее терминал (доступен через тот же Winbox, кнопку New Terminal, либо по SSH), весь блок из предыдущего раздела делается четырьмя командами:
/interface wireguard add name=wg-out listen-port=13231 private-key="СГЕНЕРИРОВАННЫЙ_КЛЮЧ"
/interface wireguard peers add interface=wg-out public-key="ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА" \
endpoint-address=ВАШ.IP.СЕРВЕРА endpoint-port=51820 allowed-address=0.0.0.0/0 persistent-keepalive=25s
/ip address add address=10.10.10.2/24 interface=wg-out
/interface wireguard print
Последняя команда покажет список интерфейсов с полем current-handshake — если там дата и время, а не бесконечно растущее 0s, рукопожатие прошло. Приватный ключ можно не вводить заранее вручную: если оставить поле private-key пустым, RouterOS создаст его сам, а публичный ключ для передачи на сервер найдёте в выводе той же команды /interface wireguard print, в колонке public-key.
Keenetic: настройка через веб-интерфейс
У Keenetic отдельного приложения-конфигуратора нет — всё делается через веб-морду, которая открывается по адресу 192.168.1.1 (или my.keenetic.net) из браузера любого устройства, подключённого к роутеру. В прошивках последних лет (KeeneticOS) поддержка WireGuard встроена нативно — раньше для неё требовался отдельный компонент из раздела «Обновления и компоненты».
Порядок действий:
- В веб-интерфейсе откройте раздел Интернет, вкладку WireGuard (в некоторых прошивках она называется «Другие подключения» → WireGuard — название меняется от версии к версии, логика та же).
- Нажмите Добавить подключение. Проще всего импортировать готовый файл
.conf, который выдал сервер — так меньше риск опечататься в ключах; можно и ввести параметры вручную: адрес и порт сервера, публичный ключ сервера, свой приватный ключ (или сгенерировать пару автоматически кнопкой рядом с полем). - В поле IP-адрес укажите адрес, выделенный вам в VPN-сети (например,
10.10.10.3/24). - Сохраните — подключение появится в общем списке в разделе «Интернет» как отдельная линия, наравне с обычным WAN-подключением к провайдеру.
Здесь у новичков случается первая путаница: подключение появилось и показывает статус «подключено», но это не значит, что через него пойдёт трафик локальной сети. По умолчанию Keenetic использует WireGuard-подключение как ещё один доступный канал в интернет, но не обязательно основной. Чтобы весь трафик домашней сети шёл именно через туннель, нужно на странице этого подключения включить опцию «Использовать для выхода в интернет» (или похожую по смыслу — точная формулировка зависит от версии прошивки) и при необходимости настроить приоритет этого подключения выше обычного WAN в разделе Приоритет подключений.
Главная ошибка: рукопожатие есть, а интернета нет
Это самая частая жалоба на форумах — и на Mikrotik, и на Keenetic. Индикатор показывает, что туннель поднят, время последнего handshake свежее, ключи совпадают — а сайты не открываются. Отличие роутера от компьютера в том, что на компьютере после подключения VPN-приложение само добавляет нужный маршрут по умолчанию. На роутере вы либо задаёте этот маршрут вручную, либо полагаетесь на автоматику интерфейса — и именно тут чаще всего ошибка.
Три места, где искать причину, по порядку:
1. Не добавлен (или неверно добавлен) маршрут по умолчанию через туннель. На Mikrotik это делается отдельной командой, интерфейс WireGuard сам по себе маршрут не создаёт:
/ip route add dst-address=0.0.0.0/0 gateway=wg-out distance=1
Частая ловушка: если вы уже используете wg-out для доступа только к части ресурсов, не подменяйте им весь маршрут по умолчанию — вместо этого добавляйте более узкие маршруты (dst-address=нужная-подсеть), иначе весь трафик роутера, включая обращения к самому VPN-серверу, попытается уйти через ещё не поднятый туннель, и получится замкнутый круг.
2. AllowedIPs на сервере не включает подсеть роутера. Каждый peer на сервере — это не просто «доверенный клиент», а ещё и список разрешённых адресов источника и назначения. Если в конфиге для вашего роутера в AllowedIPs стоит только его собственный VPN-адрес (10.10.10.2/32), а не подсеть локальной сети за роутером, сервер отбросит пакеты «от имени» устройств из 192.168.1.0/24 — он просто не знает, что за этим клиентом стоит целая подсеть. Если весь дом должен ходить через туннель, пропишите обе подсети: 10.10.10.2/32, 192.168.1.0/24.
3. FastTrack на Mikrotik конфликтует с WireGuard. Если в фаерволе включён FastTrack (а он включён по умолчанию почти везде и ускоряет обработку пакетов) — соединения под fasttrack могут проходить мимо обработки, нужной для корректной маршрутизации через туннель. Проверьте правило в IP → Firewall → Filter Rules с действием fasttrack-connection и, если VPN работает нестабильно, попробуйте временно отключить это правило или исключить из него интерфейс wg-out.
Если после этих трёх пунктов сайты всё равно не открываются, проверьте DNS: WireGuard, в отличие от OpenVPN, не раздаёт DNS-сервер автоматически — его нужно указать отдельно (поле DNS у подключения на Keenetic, статические записи на Mikrotik), иначе имена сайтов не будут разрешаться в адреса. Более широкий разбор — в статье про WireGuard без интернета через VPN, там причины разобраны и со стороны сервера.
NAT на роутере: чтобы вся локальная сеть шла через туннель
Отдельный момент, который путает новичков: недостаточно подключить сам роутер к VPN — нужно ещё и «спрятать» за туннелем адреса всех устройств локальной сети, иначе сервер не будет знать, куда возвращать ответные пакеты.
На Mikrotik для этого добавляется правило маскарадинга (NAT) для трафика, уходящего через интерфейс WireGuard:
/ip firewall nat add chain=srcnat out-interface=wg-out action=masquerade
Правило подменяет исходный адрес пакета от локального устройства (например, 192.168.88.20) на адрес роутера в VPN-сети (10.10.10.2) перед отправкой в туннель. Без подмены сервер получит пакет с обратным адресом из локальной сети провайдера и не сможет доставить на него ответ — связь не установится, даже если маршрут прописан верно.
Более «чистый» вариант — не NAT-ить на роутере вообще, а прописать на сервере маршрут до подсети роутера (см. пункт про AllowedIPs выше) и маскарадить только на сервере при выходе в интернет. Так в логах сервера виден реальный внутренний IP устройства, но настройка требует точности на обеих сторонах. Для домашней сети разница обычно не критична, и NAT прямо на роутере — самый простой рабочий вариант.
На Keenetic отдельно включать NAT не нужно — он в принципе является NAT-шлюзом для всей домашней сети по умолчанию, и это правило автоматически применяется и к VPN-подключению, если оно выбрано как канал выхода в интернет (см. предыдущий раздел про опцию «Использовать для выхода в интернет»). Если вы хотите пустить через VPN не всю сеть, а только отдельные устройства, используйте раздел Политики (policy-based routing) — там можно назначить конкретные устройства или сегмент сети на использование именно WireGuard-подключения, оставив остальным обычный доступ через провайдера.
Что ломается после обновления прошивки роутера
Обновление прошивки — вторая по частоте причина, по которой рабочий туннель вдруг «отваливается» без каких-либо изменений в настройках клиента.
На Keenetic после крупного обновления прошивки иногда сбрасывается флаг «Использовать для выхода в интернет» на дополнительных подключениях, включая WireGuard: подключение остаётся настроенным и поднимается, а маршрутизация трафика через него — нет. После обновления перепроверьте этот параметр и приоритет подключений — иногда обычный WAN снова становится приоритетным.
На Mikrotik ситуация серьёзнее: при переходе между мажорными версиями RouterOS (с ветки 6.x на 7.x) менялась сама реализация WireGuard — в седьмой версии она встроена в ядро, а не идёт отдельным пакетом. Конфигурация интерфейса и ключи обычно сохраняются, а вот firewall-правила (FastTrack, masquerade) стоит проверить заново, особенно после восстановления конфига из старого бэкапа. Перед серьёзным обновлением RouterOS сделайте экспорт командой /export file=backup-before-update — текстовый файл со всеми командами настройки проще читать и чинить руками, чем бинарный .backup.
Общее правило для обоих роутеров: после обновления не полагайтесь на то, что «раз индикатор зелёный — всё работает». Проверьте, что реальный трафик идёт через туннель — откройте на любом устройстве сайт с определением IP-адреса и убедитесь, что он показывает адрес VPN-сервера, а не провайдера.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Можно ли настроить WireGuard на Keenetic без покупки нового роутера, если у меня старая модель?
Зависит от аппаратной платформы: встроенная поддержка WireGuard есть на моделях с достаточно современным процессором и актуальной прошивкой KeeneticOS. На старых или маломощных моделях компонент может быть недоступен — проверьте в разделе «Обновления и компоненты».
Почему на Mikrotik после добавления маршрута через wg-out пропал доступ к самому роутеру из локальной сети?
Обычно это следствие слишком широкого правила NAT или маршрута, из-за которого ответный трафик уходит не туда, откуда пришёл запрос. Проверьте, что masquerade применяется только к трафику через wg-out (out-interface=wg-out), а не ко всему подряд.
Нужно ли указывать persistent keepalive, если и так работает?
Да. Без него, если роутер за NAT провайдера (а это почти всегда так дома), таблица трансляции адресов у провайдера может «забыть» о соединении через несколько минут простоя, и туннель придётся поднимать заново с задержкой. 25 секунд — общепринятая практика, не строгий стандарт.
Что делать, если Winbox не видит роутер Mikrotik в списке?
Убедитесь, что компьютер подключён к той же сети (кабелем в LAN-порт — надёжнее всего на время первой настройки). Также можно подключиться напрямую по IP-адресу роутера, минуя автопоиск по MAC.
Отличается ли выбор VPS для такой схемы от обычного VPN-сервера?
Нет: белый статический IP, достаточная пропускная способность и локация, из которой нужен выход. Ориентиры по выбору — в статье про VPS для VPN в России.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.