WireGuard VPN между двумя роутерами Keenetic: полное руководство по настройке

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

Зачем соединять два роутера Keenetic через WireGuard

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

Типичные задачи, которые решает такое соединение:

  • доступ к файловому хранилищу, NAS или принтеру в другой сети;
  • удалённое управление роутером и подключёнными к нему устройствами;
  • использование интернет-канала одного роутера для выхода в сеть с другого (например, когда у второго только USB-модем);
  • организация безопасного канала между офисом и домашней сетью.

WireGuard выгодно отличается от OpenVPN и IPsec: он проще в настройке, быстрее работает и использует современную криптографию. Для Keenetic поддержка WireGuard встроена в прошивку, поэтому не требуется устанавливать дополнительные пакеты или использовать сторонние утилиты.

Что нужно знать перед началом настройки

Прежде чем приступать к конфигурации, убедитесь, что выполнены базовые условия.

Совместимость оборудования. WireGuard поддерживается на большинстве моделей Keenetic с актуальной версией прошивки. В официальной документации и на форуме сообщества указано, что функция доступна на устройствах с NDMS 2.12 и новее. Если у вас старая прошивка, обновите её через веб-интерфейс.

Доступ к административной панели. Вам понадобятся IP-адреса обоих роутеров в их локальных сетях (обычно 192.168.1.1 и 192.168.0.1, но могут отличаться). Убедитесь, что вы знаете логин и пароль для входа.

Публичный IP-адрес. Для соединения между двумя роутерами через интернет хотя бы один из них должен иметь белый (публичный) IP-адрес. Если оба находятся за NAT оператора, потребуется настроить проброс портов или использовать дополнительный сервер-посредник. В случае, когда один роутер выступает сервером, а второй клиентом, достаточно публичного адреса на сервере.

Порты и firewall. WireGuard использует UDP-порт, по умолчанию 51820. Убедитесь, что этот порт не заблокирован на роутере-сервере и в настройках провайдера, если он применяет фильтрацию.

Общая схема работы WireGuard в Keenetic

В конфигурации WireGuard один роутер назначается сервером, второй — клиентом. Сервер ожидает входящие соединения на определённом UDP-порту, клиент инициирует подключение. После установления туннеля между ними создаётся виртуальная сеть, обычно с адресами вида 10.0.0.1 и 10.0.0.2.

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

В настройках Peer (партнёра) указываются:

  • публичный ключ удалённой стороны;
  • IP-адрес удалённой стороны внутри VPN-туннеля;
  • список разрешённых IP-адресов (AllowedIPs), определяющий, какие сети маршрутизировать через туннель.

Если указать AllowedIPs = 0.0.0.0/0, через туннель пойдёт весь трафик, включая интернет-трафик клиента. Если указать только конкретную подсеть, например 192.168.10.0/24, то через туннель будут ходить только пакеты в эту сеть.

Пошаговая настройка сервера WireGuard на первом роутере

Рассмотрим настройку на примере Keenetic Ultra (KN-1810) в роли сервера.

  1. Войдите в веб-интерфейс роутера, открыв в браузере его IP-адрес (например, 192.168.1.1).
  2. Перейдите в раздел ИнтернетVPN.
  3. Нажмите Добавить соединение и выберите тип WireGuard.
  4. В открывшемся окне задайте имя, например WG-Server.
  5. Нажмите кнопку Сгенерировать рядом с полем приватного ключа — роутер создаст пару ключей автоматически. Скопируйте публичный ключ, он понадобится для настройки клиента.
  6. В поле IP-адрес укажите адрес сервера внутри VPN-сети, например 10.0.0.1/24.
  7. В разделе Peer (партнёр) нажмите Добавить и заполните:
  • Публичный ключ — вставьте публичный ключ клиента (второго роутера);
  • Разрешённые IP-адреса — укажите 10.0.0.2/32, чтобы разрешить трафик только к клиенту, или 0.0.0.0/0, если планируете пропускать через туннель весь интернет-трафик клиента;
  • Endpoint — оставьте пустым, так как клиент сам инициирует подключение.
  1. Сохраните настройки.

После сохранения сервер начнёт слушать порт 51820 (по умолчанию). Если нужно изменить порт, это можно сделать в настройках соединения.

Настройка клиента WireGuard на втором роутере

Теперь настроим второй роутер, например Keenetic Omni (KN-1410), в роли клиента.

  1. Войдите в веб-интерфейс второго роутера.
  2. Перейдите в ИнтернетVPN и добавьте новое соединение WireGuard.
  3. Сгенерируйте пару ключей и скопируйте публичный ключ — он понадобится для добавления на сервере.
  4. В поле IP-адрес укажите адрес клиента внутри VPN, например 10.0.0.2/24.
  5. В разделе Peer заполните:
  • Публичный ключ — публичный ключ сервера;
  • Endpoint — публичный IP-адрес или доменное имя сервера, а также порт, например 203.0.113.5:51820;
  • Разрешённые IP-адреса — укажите 10.0.0.1/32, если нужен доступ только к серверу, или 0.0.0.0/0, если планируете использовать интернет-канал сервера.
  1. Сохраните настройки.

Важно: если вы указали AllowedIPs = 0.0.0.0/0 на клиенте, весь его интернет-трафик пойдёт через туннель. В этом случае необходимо настроить приоритет интерфейса WireGuard выше, чем у основного подключения, иначе трафик будет уходить через обычный шлюз.

Обмен ключами и проверка соединения

После настройки обоих роутеров необходимо убедиться, что ключи и IP-адреса указаны корректно.

Порядок действий:

  1. На сервере в настройках Peer должен быть вставлен публичный ключ клиента, а на клиенте — публичный ключ сервера.
  2. IP-адреса внутри VPN должны быть уникальны и принадлежать одной подсети (например, 10.0.0.1 и 10.0.0.2).
  3. Активируйте VPN-профили на обоих роутерах (переключатель Включить).
  4. Проверьте статус соединения в веб-интерфейсе: в разделе VPN должно отображаться Подключено.
  5. Выполните проверку с помощью ping. Например, с клиента (10.0.0.2) отправьте команду ping 10.0.0.1 — если ответ получен, туннель работает.

Если ping не проходит, проверьте:

  • не блокирует ли файрвол на сервере входящие UDP-пакеты на порт 51820;
  • правильно ли указан Endpoint на клиенте (публичный IP сервера);
  • не конфликтуют ли подсети локальных сетей (например, если обе сети используют 192.168.1.0/24, маршрутизация может работать некорректно).

Настройка маршрутизации и доступа к локальным сетям

Чтобы устройства из одной локальной сети могли обращаться к устройствам в другой, необходимо настроить маршрутизацию.

На сервере: добавьте маршрут к локальной сети клиента, указав в качестве шлюза IP-адрес клиента в VPN (10.0.0.2). Например, если локальная сеть клиента — 192.168.10.0/24, маршрут будет: 192.168.10.0/24 via 10.0.0.2.

На клиенте: аналогично добавьте маршрут к локальной сети сервера (например, 192.168.1.0/24 via 10.0.0.1).

В Keenetic маршруты настраиваются в разделе ИнтернетМаршрутизация (или Таблица маршрутизации). Можно добавить статический маршрут вручную.

Также важно, чтобы в настройках Peer были указаны разрешённые IP-адреса, включающие локальные подсети. Например, на сервере в AllowedIPs для клиента укажите 10.0.0.2/32, 192.168.10.0/24, а на клиенте для сервера — 10.0.0.1/32, 192.168.1.0/24.

Если вы хотите, чтобы весь трафик клиента шёл через сервер (включая интернет), на клиенте в AllowedIPs укажите 0.0.0.0/0. При этом на сервере необходимо включить NAT для трафика из VPN-сети в интернет.

Организация выхода в интернет через сервер

Один из частых сценариев — использование интернет-канала сервера на клиенте. Например, у клиента только USB-модем с медленным или нестабильным соединением, а у сервера — проводной интернет.

Для этого на клиенте нужно:

  1. В настройках WireGuard-соединения указать AllowedIPs = 0.0.0.0/0.
  2. Изменить приоритет интерфейса WireGuard, сделав его основным. В Keenetic это делается в разделе ИнтернетПриоритеты подключений (или Приоритеты интерфейсов).
  3. Убедиться, что на сервере включён NAT для трафика из VPN-сети. Обычно NAT включается автоматически, если в настройках сервера разрешён доступ в интернет для VPN-клиентов.

Типичная ошибка: после изменения приоритета на клиенте пропадает интернет. Это может происходить из-за того, что на сервере не настроен NAT, или из-за некорректных правил firewall. Проверьте:

  • на сервере в разделе Сетевые правила (или Firewall) разрешён ли исходящий трафик из VPN-сети в интернет;
  • на клиенте не осталось ли старого маршрута по умолчанию через USB-модем, который конфликтует с новым.

Если проблема сохраняется, временно отключите USB-модем на клиенте и проверьте, работает ли интернет через туннель.

Диагностика и устранение неполадок

Даже при аккуратной настройке могут возникнуть проблемы. Рассмотрим основные.

Туннель не поднимается. Проверьте, что на сервере порт 51820 открыт и доступен извне. Можно использовать онлайн-сервисы проверки портов. Также убедитесь, что на клиенте правильно указан Endpoint (публичный IP сервера). Если сервер находится за NAT, настройте проброс порта на роутере провайдера.

Пинг внутри VPN проходит, но нет доступа к локальным ресурсам. Скорее всего, не настроены маршруты или в AllowedIPs не включены локальные подсети. Добавьте соответствующие маршруты и обновите AllowedIPs.

Интернет через туннель не работает. Проверьте NAT на сервере и правила firewall. Убедитесь, что на клиенте приоритет WireGuard выше, чем у других подключений. Также проверьте, не блокирует ли провайдер сервера VPN-трафик.

Низкая скорость. WireGuard обычно быстрее OpenVPN, но скорость может снижаться из-за слабого процессора роутера, особенно при использовании шифрования. Попробуйте отключить аппаратное ускорение (если включено) или обновить прошивку.

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

Советы по безопасности и стабильности

WireGuard обеспечивает надёжное шифрование, но для максимальной безопасности следуйте рекомендациям.

  • Регулярно обновляйте прошивку обоих роутеров. В новых версиях исправляются уязвимости и улучшается производительность.
  • Используйте сложные ключи. Keenetic генерирует ключи автоматически, они достаточно надёжны. Не передавайте приватные ключи по незащищённым каналам.
  • Ограничьте AllowedIPs только необходимыми подсетями, если не требуется пропускать весь трафик. Это снижает риск несанкционированного доступа.
  • Настройте файрвол на сервере, разрешив входящие подключения только с известных IP-адресов клиента, если это возможно.
  • Создавайте резервные копии конфигураций перед изменениями. В Keenetic это можно сделать в разделе СистемаРезервная копия.
  • Периодически проверяйте статус соединения и логи, особенно после обновлений или изменения сетевых настроек.

Следуя этим советам, вы обеспечите стабильную и безопасную работу VPN-туннеля между роутерами Keenetic.

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

Какие модели Keenetic поддерживают WireGuard?

WireGuard поддерживается на большинстве моделей Keenetic с прошивкой NDMS 2.12 и новее. Актуальный список можно уточнить в официальной документации или на сайте производителя. Если ваша модель не поддерживает WireGuard, можно использовать OpenVPN, но он медленнее и сложнее в настройке.

Нужен ли белый IP-адрес для настройки WireGuard между двумя роутерами?

Да, как минимум один роутер (сервер) должен иметь публичный IP-адрес, доступный из интернета. Если оба роутера находятся за NAT, можно настроить проброс портов на сервере или использовать дополнительный сервер-посредник (например, VPS), который будет ретранслировать трафик.

Как сделать так, чтобы весь интернет-трафик клиента шёл через сервер?

На клиенте в настройках WireGuard укажите AllowedIPs = 0.0.0.0/0 и установите приоритет интерфейса WireGuard выше, чем у других подключений. На сервере включите NAT для трафика из VPN-сети. После этого весь интернет-трафик клиента будет проходить через сервер.

Почему после изменения приоритета на клиенте пропадает интернет?

Наиболее вероятные причины: не настроен NAT на сервере, неправильно указаны AllowedIPs, или firewall на сервере блокирует трафик из VPN-сети. Проверьте эти параметры, а также убедитесь, что на клиенте нет конфликтующих маршрутов.

Можно ли использовать WireGuard для доступа к локальной сети сервера с клиента?

Да. Для этого на клиенте в AllowedIPs укажите подсеть локальной сети сервера (например, 192.168.1.0/24), а на сервере добавьте маршрут к локальной сети клиента. Также убедитесь, что на сервере разрешён форвардинг трафика между VPN-интерфейсом и LAN.

Что делать, если туннель не устанавливается?

Проверьте, что на сервере открыт UDP-порт 51820, на клиенте правильно указан Endpoint (публичный IP сервера), и ключи совпадают. Также проверьте, не блокирует ли провайдер VPN-трафик. Временное отключение файрвола на сервере может помочь диагностировать проблему.

Как обновить прошивку Keenetic и не потерять настройки WireGuard?

Перед обновлением создайте резервную копию конфигурации в разделе СистемаРезервная копия. После обновления восстановите конфигурацию. Обычно настройки WireGuard сохраняются, но в редких случаях могут потребоваться повторная генерация ключей или корректировка параметров.