Чтобы удаленно подключиться к локальной сети интернет-центра Keenetic, начиная с версии KeeneticOS 3.3 стало возможно использовать туннель WireGuard VPN.
NOTE: Важно! Если вы планируете настроить Keenetic в качестве VPN-сервера, начать необходимо с проверки того, что он имеет публичный "белый" IP-адрес, а при использовании сервиса KeenDNS, что он работает в режиме "Прямой доступ", для которого также требуется публичный IP-адрес. При несоблюдении любого из этих условий подключение к такому серверу из Интернета будет невозможно.
В статьях "Настройка WireGuard VPN между двумя роутерами Keenetic" и "Доступ в Интернет через WireGuard-туннель" мы рассмотрели подключение двух маршрутизаторов с целью организации доступа между их локальными сетями, и случай, когда VPN-клиент через тот же туннель получает доступ в Интернет.
На примере той же схемы подключим теперь отдельный компьютер под управлением операционной системы Windows 7 к WireGuard-туннелю на Keenetic.
1. На компьютере нужно установить приложение для работы с WireGuard. Установщик следует скачать непосредственно с сайта проекта и запустить. Все доступные версии также можно просмотреть по ссылке.
2. По завершении установки откроется окно приложения WireGuard.
Нажмите на кнопку "Add Tunnel" и выберите пункт "Add empty tunnel... [Ctrl+N]".
Откроется окно Create new tunnel. В нем в поле "Name" нужно указать подходящее имя туннеля, это может быть любое удобное имя.
После строчек [Interface] и PrivateKey = нужно перенести следующий текст:
Address =
[Peer]
PublicKey =
AllowedIPs =
Endpoint =
PersistentKeepalive =
После чего скопировать в буфер обмена публичный ключ туннеля, из поля Public Key:
3. Чтобы продолжить настройку, перейдем в веб-конфигуратор Keenetic, к которому нужно установить подключение. Окно Create new tunnel в приложении WireGuard не закрывайте, оставьте пока открытым.
В веб-конфигураторе роутера VPN-сервера нужно открыть меню "Интернет" — "Другие подключения" — "WireGuard" и нажать созданный ранее туннель ("WG-S").
В открывшемся меню "Настройки подключения" нажимаем кнопку "Добавить пир".
В поле "Имя пира" следует ввести подходящее имя соединения. Затем в поле "Публичный ключ", вставьте из буфера обмена публичный ключ, сгенерированный приложением на компьютере (в предыдущем пункте мы скопировали его в буфер). В поле "Разрешенные подсети" указываем адрес 172.16.82.10/32, и в поле "Проверка активности" значение 5 секунд. По умолчанию значение "Проверки активности" в настройках пира Keenetic указано 30 секунд.
После чего следует скопировать в буфер обмена публичный ключ туннеля.
Сохраните настройки.
4. Возвращаемся к оставленному открытым окну Create new tunnel в приложении WireGuard. Завершим настройку подключения.
- В строке Address = указываем адрес компьютера в туннеле. Это должен быть адрес, разрешенный в настройке добавленного на предыдущем шаге пира (соединения), 172.16.82.10/32.
- В строке PublicKey = дописываем из буфера обмена публичный ключ с маршрутизатора.
- В строке AllowedIPs = указываем разрешенные IP-адреса, в формате IP/bitmask — 172.16.82.1/32 (это внутренний адрес сервера) и 192.168.22.0/24 (адрес локального сегмента роутера Keenetic).
- Endpoint = завершаем координатами удаленного устройства в формате адрес:порт. Публичный адрес, по которому доступен наш удаленный пир — nottingham.keenetic.link, порт 16632.
- В строке PersistentKeepalive = устанавливаем значение в секундах, например 8.
После чего можно сохранить настройку нажатием кнопки "Save".
5. Убеждаемся, что туннель работает. Для включения нужно нажать кнопку "Activate".
Настройка завершена. В данной конфигурации компьютер получит через туннель доступ к локальной сети VPN-сервера.
6. Если потребуется кроме доступа к локальной сети VPN-сервера обеспечить ещё и доступ клиентам в Интернет через WireGuard-туннель, выполните указанные ниже дополнительные настройки.
Чтобы работал доступ в Интернет, на маршрутизаторе, к которому компьютер устанавливает соединение, требуются дополнительно установки (через интерфейс командной строки):
interface Wireguard0 security-level private
ip nat Wireguard0
Подробная информация приведена в статье "Доступ в Интернет через WireGuard-туннель".
Обращаем ваше внимание, что на стороне VPN-клиента в файле конфигурации в разделе "[Interface]" необходимо указать DNS-сервер в поле "DNS=" (в нашем примере указан адрес DNS-сервера от Google 8.8.8.8) и добавить адресное пространство 0.0.0.0/0 в разделе AllowedIPs = :
[Interface]
PrivateKey = IFSgdLsL/hRswYdF/5QlLwUnxm2/VLM4vDUV8Gbmb1I=
Address = 172.16.82.10/32
DNS = 8.8.8.8
[Peer]
PublicKey = 1YVx+x3C817V9YdhUtpUhzyDLVj5tnK2m//WjFGynm4=
AllowedIPs = 172.16.82.1/32, 192.168.22.0/24, 0.0.0.0/0
Endpoint = nottingham.keenetic.link:16632
PersistentKeepalive = 8
TIP: Примечание: При условии, что в конфигурации один пир и указана разрешенная сеть "все адреса", приложение будет автоматически формировать запрещающее трафик мимо туннеля правило сетевого экрана на компьютере.
В статье "Подключение по протоколу WireGuard VPN из Windows 10" представлен альтернативный вариант настройки с редактированием конфигурационного .conf-файла.