VPN-туннель между роутерами Keenetic: настройка объединения сетей

Подробное руководство по созданию VPN-туннеля между роутерами Keenetic: выбор протокола, настройка WireGuard, маршрутизация, решение проблем.

Зачем нужен VPN-туннель между роутерами

VPN-туннель между двумя роутерами Keenetic позволяет объединить две локальные сети в единое пространство. Это востребовано, когда нужно организовать доступ к устройствам в другой локации: камерам видеонаблюдения на даче, файловому хранилищу NAS в квартире, принтеру или умному дому. Вместо того чтобы открывать порты и настраивать сложные переадресации, вы создаёте защищённое соединение, через которое устройства из одной сети видят устройства из другой так, будто они находятся рядом.

Такой сценарий называют Site-to-Site VPN. Он отличается от привычного использования VPN-клиента, когда роутер подключается к коммерческому сервису для скрытия трафика. Здесь один роутер выступает сервером, ожидающим входящего подключения, а второй — клиентом, инициирующим соединение. После установки туннеля трафик между подсетями идёт в зашифрованном виде, что защищает данные от перехвата, особенно если соединение проходит через интернет.

Практическая польза такого решения очевидна: вы можете удалённо просматривать записи с камер, управлять умным домом, получать доступ к файлам на домашнем сервере, находясь в другом городе. При этом не требуется покупать дорогое оборудование — достаточно двух роутеров Keenetic с поддержкой нужных протоколов.

Какие протоколы подходят для туннеля

Для организации VPN-туннеля между роутерами Keenetic доступны несколько протоколов, и выбор влияет на скорость, стабильность и сложность настройки.

WireGuard — современный протокол, который отличается высокой скоростью и низкой нагрузкой на процессор. Он идеально подходит для объединения сетей, так как использует современную криптографию и работает поверх UDP. Настройка относительно проста: достаточно обменяться публичными ключами и указать подсети. WireGuard поддерживается всеми актуальными моделями Keenetic, начиная с прошивки 3.x.

OpenVPN — более старый протокол, который также поддерживается Keenetic. Он надёжен, но требователен к ресурсам: на бюджетных моделях скорость может упасть до 10–20 Мбит/с. Для туннеля между роутерами OpenVPN подходит, если нет возможности использовать WireGuard, но стоит учитывать его производительность.

IKEv2/IPsec — ещё один вариант, который хорошо работает на мобильных устройствах, но для Site-to-Site используется реже. Он может быть полезен, если нужно подключить к туннелю устройства, не поддерживающие WireGuard.

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

Для большинства случаев оптимальным выбором будет WireGuard. Он обеспечивает высокую скорость даже на слабых роутерах и прост в настройке. Если же требуется маскировка трафика от DPI, можно рассмотреть AmneziaWG — модификацию WireGuard с дополнительными параметрами, которая также поддерживается Keenetic.

Подготовка роутеров к настройке

Перед созданием туннеля необходимо убедиться, что оба роутера готовы к работе. Во-первых, обновите прошивку KeeneticOS до актуальной версии. Это важно, так как новые версии содержат исправления и улучшения для VPN-функций. Во-вторых, установите необходимые компоненты: на серверном роутере — компонент VPN-сервера (например, WireGuard VPN сервер), на клиентском — VPN-клиент (WireGuard VPN клиент). Эти компоненты не установлены по умолчанию, их нужно добавить через раздел «Управление» → «Общие настройки» → «Изменить набор компонентов».

Также стоит продумать IP-адресацию. Чтобы избежать конфликтов, подсети на роутерах должны отличаться. Например, если на первом роутере используется подсеть 192.168.1.0/24, то на втором лучше настроить 192.168.2.0/24. Это критично: если обе сети используют одинаковые адреса, маршрутизация через туннель не будет работать корректно.

Для серверного роутера желательно иметь «белый» IP-адрес или настроенный сервис KeenDNS. KeenDNS позволяет получить постоянное доменное имя вида myhome.keenetic.link, которое будет указывать на ваш роутер, даже если IP-адрес динамический. Это упрощает подключение клиента: вместо IP-адреса можно использовать доменное имя.

Если у вас «серый» IP, туннель можно организовать через облачный сервис Keenetic, но это накладывает ограничения на протоколы. В любом случае, подготовка включает проверку доступности портов и настройку брандмауэра, если он используется.

Настройка серверной стороны (роутер-сервер)

На роутере, который будет принимать подключения, необходимо настроить VPN-сервер. Рассмотрим настройку на примере WireGuard.

  1. Установите компонент «WireGuard VPN сервер» через раздел «Управление» → «Общие настройки» → «Изменить набор компонентов».
  2. Перейдите в раздел «Интернет» → «VPN» → «WireGuard VPN» и откройте вкладку «Сервер».
  3. Нажмите «Добавить сервер», задайте имя, например «Site-to-Site».
  4. Сгенерируйте ключи: роутер автоматически создаст приватный и публичный ключи. Приватный ключ остаётся на сервере, публичный нужно будет передать клиенту.
  5. Добавьте клиента: укажите имя клиента, его публичный ключ (который вы получите от второго роутера) и разрешённые подсети. Для туннеля между роутерами укажите подсеть клиентской сети, например 192.168.2.0/24.
  6. Укажите параметры туннеля: адрес сервера в туннеле (например, 10.0.0.1/24) и адрес клиента (10.0.0.2/32). Эти адреса используются внутри VPN-сети.
  7. Сохраните настройки и включите сервер.

Важно: убедитесь, что на серверном роутере включена переадресация портов или UPnP, если провайдер блокирует входящие подключения. Для WireGuard используется UDP-порт, обычно 51820. Если у вас «серый» IP, настройте KeenDNS и используйте облачный режим для SSTP, но для WireGuard это не подойдёт.

После настройки сервера проверьте, что он ожидает подключения, в разделе «Диагностика».

Настройка клиентской стороны (роутер-клиент)

На втором роутере, который будет инициировать подключение, настраивается VPN-клиент. Продолжим с WireGuard.

  1. Установите компонент «WireGuard VPN клиент».
  2. Перейдите в «Интернет» → «Другие подключения» → «WireGuard».
  3. Нажмите «Добавить подключение».
  4. Введите название, например «Туннель к даче».
  5. Заполните параметры:
  • Приватный ключ: сгенерируйте на этом роутере (кнопка «Генерация пары ключей»).
  • Публичный ключ пира: укажите публичный ключ серверного роутера.
  • Адрес пира: укажите IP-адрес или доменное имя серверного роутера (например, myhome.keenetic.link) и порт 51820.
  • Разрешённые подсети: укажите подсеть серверной сети, например 192.168.1.0/24.
  • Проверка активности (KeepAlive): установите 25 секунд, чтобы поддерживать соединение за NAT.
  1. Сохраните подключение.

Важно: не нажимайте «Генерация пары ключей» на сервере после того, как вы уже передали публичный ключ клиенту — это приведёт к нерабочему соединению. Ключи должны быть согласованы.

После создания подключения необходимо настроить маршрутизацию. В разделе «Сетевые правила» → «Маршрутизация» добавьте статический маршрут: для подсети 192.168.1.0/24 укажите интерфейс WireGuard0. Это обеспечит передачу трафика между подсетями через туннель.

Также убедитесь, что на клиентском роутере не включено «Использовать для выхода в интернет» для этого подключения, если вы не хотите направлять весь интернет-трафик через туннель. Для Site-to-Site это обычно не требуется.

Маршрутизация и приоритеты подключений

Правильная маршрутизация — ключ к работе туннеля. Когда оба роутера настроены, необходимо убедиться, что трафик между подсетями идёт через VPN, а не через интернет-провайдера.

На клиентском роутере в разделе «Сетевые правила» → «Маршрутизация» добавьте статический маршрут для удалённой подсети. Например, если серверная сеть — 192.168.1.0/24, укажите этот адрес и выберите интерфейс WireGuard0. Аналогично на серверном роутере добавьте маршрут для клиентской подсети 192.168.2.0/24 через интерфейс WireGuard0.

Если вы хотите, чтобы весь интернет-трафик с клиентского роутера шёл через туннель (например, для обхода блокировок), можно включить опцию «Использовать для выхода в интернет» и поднять приоритет VPN-подключения выше, чем у провайдера. Это делается в разделе «Интернет» → «Приоритеты подключений». Однако для Site-to-Site это обычно не нужно, и лучше оставить интернет-трафик напрямую, чтобы не перегружать туннель.

Также проверьте, что на обоих роутерах не конфликтуют подсети. Если обе сети используют 192.168.1.0/24, маршруты будут пересекаться, и туннель не заработает. В этом случае измените подсеть на одном из роутеров.

Для проверки работоспособности туннеля выполните ping с устройства в одной сети до IP-адреса устройства в другой сети. Если ping проходит, туннель работает.

Использование KeenDNS и белого IP

Для стабильной работы туннеля важно, чтобы серверный роутер был доступен из интернета. Если у вас «белый» IP-адрес, проблем нет — клиент может подключаться напрямую по IP. Однако у многих провайдеров IP-адреса динамические, и они меняются при каждом переподключении. В этом случае удобно использовать сервис KeenDNS.

KeenDNS — это встроенный в Keenetic динамический DNS. Он позволяет получить постоянное доменное имя вида myhome.keenetic.link, которое всегда указывает на ваш роутер, даже если IP-адрес меняется. Настройка KeenDNS выполняется в разделе «Управление» → «KeenDNS». После активации вы получите доменное имя, которое можно использовать в конфигурации WireGuard вместо IP-адреса.

Если у вас «серый» IP (провайдер использует NAT), прямое подключение WireGuard невозможно. В этом случае можно использовать облачный режим KeenDNS для протокола SSTP, но это менее удобно. Альтернатива — арендовать VPS-сервер и настроить на нём VPN-сервер, а роутеры будут подключаться к нему как клиенты. Это сложнее, но даёт больше гибкости.

При использовании KeenDNS убедитесь, что на роутере включена переадресация портов для WireGuard (UDP 51820), если это требуется. В некоторых случаях KeenDNS автоматически настраивает проброс портов через облако.

Решение типичных проблем

При настройке VPN-туннеля между роутерами Keenetic могут возникнуть типичные проблемы. Рассмотрим их и способы решения.

Туннель не поднимается. Проверьте, что на обоих роутерах установлены компоненты VPN. Убедитесь, что ключи согласованы: публичный ключ сервера должен быть указан на клиенте, и наоборот. Также проверьте, что адрес пира указан верно — если используется доменное имя, оно должно резолвиться в актуальный IP.

Соединение устанавливается, но нет доступа к удалённой сети. Чаще всего проблема в маршрутизации. Проверьте, что на обоих роутерах добавлены статические маршруты для удалённых подсетей. Также убедитесь, что подсети не конфликтуют.

Низкая скорость. Если используется OpenVPN, попробуйте перейти на WireGuard — он быстрее. Также проверьте, что на роутере включено аппаратное ускорение (Flow Offloading) в настройках.

Соединение периодически отваливается. Убедитесь, что в конфигурации WireGuard указан KeepAlive (25 секунд). Это предотвращает закрытие NAT-сессии провайдером.

Не работает умный дом или Алиса. Если через туннель идёт трафик к Яндекс.Станции, может потребоваться уменьшить MTU на интерфейсе VPN до 1280–1360. Также добавьте статические маршруты до серверов Яндекса мимо туннеля.

После обновления прошивки VPN перестал работать. Проверьте, не были ли удалены компоненты VPN при обновлении. Переустановите их при необходимости.

Продвинутые сценарии: VLESS и Xray

Стандартные протоколы, такие как WireGuard, могут распознаваться системами DPI (deep packet inspection) и блокироваться. В таких случаях на помощь приходят более продвинутые решения, например VLESS с маскировкой REALITY.

VLESS — это протокол, который маскирует трафик под обычное HTTPS-соединение, что делает его практически неотличимым от обычного веб-серфинга. Однако в стоковой прошивке Keenetic нет нативной поддержки VLESS. Для его использования необходимо установить среду Entware на USB-накопитель и развернуть клиент Xray или sing-box.

Процесс установки:

  1. Отформатируйте USB-флешку в ext4 и вставьте в роутер.
  2. Установите компонент «Среда пакетов Entware» через «Управление» → «Общие настройки».
  3. Подключитесь к роутеру по SSH (ssh admin@192.168.1.1).
  4. Установите XKeen — популярный установщик, который автоматически разворачивает Xray и настраивает автозапуск.
  5. В мастере настройки вставьте VLESS-ссылку из вашей подписки.

Этот способ требует навыков работы с командной строкой, но даёт возможность обходить даже самые строгие блокировки. Альтернатива — использовать AmneziaWG, который маскирует WireGuard-трафик и поддерживается Keenetic без установки Entware. AmneziaWG настраивается так же, как WireGuard, но требует ввода дополнительных параметров (Jc, Jmin, Jmax, S1, S2, H1–H4) вручную на прошивках до 5.1.

Если вы не готовы к сложной настройке, можно использовать коммерческие VPN-сервисы, которые предоставляют готовые конфигурации для Keenetic, но для Site-to-Site туннеля между роутерами они не подходят — здесь нужен собственный сервер.

Сравнение сценариев: клиент, сервер, Site-to-Site

Важно понимать разницу между тремя основными сценариями использования VPN на роутере Keenetic.

VPN-клиент — роутер подключается к коммерческому VPN-сервису, и весь трафик домашней сети (или его часть) идёт через этот сервис. Это используется для обхода блокировок, скрытия IP-адреса и защиты данных в публичных сетях. Настройка проста: достаточно импортировать конфигурационный файл от провайдера.

VPN-сервер — роутер сам становится точкой входа для удалённых клиентов. Вы можете подключиться к домашней сети из любого места, используя WireGuard или IKEv2. Это удобно для доступа к домашним устройствам, но требует «белого» IP или KeenDNS.

Site-to-Site — объединение двух роутеров в единую сеть. Один роутер выступает сервером, другой — клиентом. Это позволяет устройствам из разных локаций взаимодействовать так, как будто они находятся в одной локальной сети. Этот сценарий мы подробно рассмотрели в статье.

Каждый сценарий имеет свои особенности настройки. Для Site-to-Site критически важна правильная маршрутизация и согласование ключей. Для VPN-клиента — выбор протокола и приоритетов. Для VPN-сервера — обеспечение доступности извне.

Выбор сценария зависит от ваших задач. Если нужно защитить весь домашний интернет — используйте VPN-клиент. Если нужен удалённый доступ к домашним устройствам — настройте VPN-сервер. Если нужно объединить две локации — стройте Site-to-Site туннель.

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

Какой протокол лучше всего подходит для VPN-туннеля между роутерами Keenetic?

Для объединения сетей оптимален WireGuard. Он обеспечивает высокую скорость, низкую нагрузку на процессор и прост в настройке. OpenVPN тоже поддерживается, но медленнее и требовательнее к ресурсам. Если нужна маскировка от DPI, можно использовать AmneziaWG — модификацию WireGuard.

Что делать, если туннель устанавливается, но устройства из разных сетей не видят друг друга?

Проверьте маршрутизацию: на обоих роутерах должны быть добавлены статические маршруты для удалённых подсетей. Убедитесь, что подсети не конфликтуют (например, обе используют 192.168.1.0/24). Также проверьте, что в конфигурации WireGuard указаны правильные разрешённые подсети (AllowedIPs).

Нужен ли белый IP-адрес для организации туннеля между роутерами?

Для прямого подключения WireGuard нужен белый IP на серверном роутере. Если IP серый, можно использовать KeenDNS с облачным режимом для SSTP, но это менее удобно. Альтернатива — арендовать VPS и настроить VPN-сервер на нём, а роутеры будут подключаться к нему как клиенты.

Как настроить KeepAlive в WireGuard на Keenetic?

В настройках WireGuard-подключения на клиентском роутере есть поле «Проверка активности» (PersistentKeepalive). Установите значение 25 секунд. Это отправляет периодические пакеты, чтобы NAT провайдера не закрывал соединение.

Можно ли использовать один роутер Keenetic одновременно как VPN-клиент и VPN-сервер?

Да, Keenetic позволяет одновременно использовать несколько VPN-подключений. Вы можете настроить VPN-клиент для выхода в интернет через внешний сервис и VPN-сервер для доступа к домашней сети извне. Главное — правильно настроить маршрутизацию и приоритеты.

Что делать, если после обновления прошивки VPN-туннель перестал работать?

Проверьте, не были ли удалены компоненты VPN при обновлении. Зайдите в «Управление» → «Общие настройки» → «Изменить набор компонентов» и убедитесь, что нужные компоненты установлены. При необходимости переустановите их и перезагрузите роутер.

Как проверить, что VPN-туннель между роутерами работает?

С устройства в одной сети выполните ping до IP-адреса устройства в другой сети. Если ping проходит, туннель работает. Также можно проверить статус подключения в веб-интерфейсе роутера: в разделе «Диагностика» должно отображаться активное соединение WireGuard.