Чтобы удаленно подключиться к локальной сети интернет-центра Keenetic, начиная с версии KeeneticOS 3.3 стало возможно использовать туннель WireGuard VPN.
Сначала необходимо выполнить настройку сервера WireGuard в Keenetic, которая показана в инструкции "Настройка WireGuard VPN между двумя роутерами Keenetic", после переходите к настройке VPN-клиента.
NOTE: Важно! Если вы планируете настроить Keenetic в качестве VPN-сервера, начать необходимо с проверки того, что он имеет публичный "белый" IP-адрес, а при использовании сервиса KeenDNS, что он работает в режиме "Прямой доступ", для которого также требуется публичный IP-адрес. При несоблюдении любого из этих условий подключение к такому серверу из Интернета будет невозможно.
Ниже приведем пример действий для подключения к серверу из операционной системы под управлением ОС Windows, на примере версии Windows 10 1909 (19H2).
Чтобы установить соединение к WireGuard-серверу Keenetic, в компьютере на базе ОС Windows, потребуется скачать и установить программу WireGuard с официального сайта.
1. После установки программы и запуска, нажимаем в нижнем левом углу на стрелку вниз напротив "Add Tunnel" - "Add empty tunnel... [Ctrl+N]".
Откроется окно настройки конфигурации подключения к удаленному WireGuard-серверу Keenetic - "Create new tunnel".
NOTE: Важно! Оставляем данное окно открытым, не закрываем его.
2. Скачиваем файл wg-client.conf к себе на компьютер, можно на Рабочий стол. Открываем в текстовом редакторе, например в Notepad++
Откроется готовая конфигурация, в которую необходимо будет ввести настройки подключаемого WireGuard-клиента Windows [Interface] и удаленного WireGuard-сервера Keenetic [Peer].
NOTE: Важно! Оставляем данное окно открытым, не закрываем его.
3. Возвращаемся к открытому окну "Create new tunnel" пункта 1 и копируем из поля "PrivateKey = " - приватный ключ WireGuard-клиента Windows в буфер обмена компьютера.
NOTE: Важно! Оставляем данное окно открытым, не закрываем его.
4. Скопированный в буфер обмена компьютера приватный ключ WireGuard-клиента необходимо добавить в готовую конфигурацию из пункта 2 в строку "PrivateKey = ".
NOTE: Важно! Оставляем данное окно открытым, не закрываем его.
5. Настраиваем удаленное подключение на стороне ранее настроенного WireGuard-сервера.
Подключитесь к веб-конфигуратору роутера и перейдите в меню "Интернет" — "Другие подключения". Нажмите на ранее созданное WireGuard-подключение ("WG-S") и добавьте "Настройки пира". Нажав на "Добавить пир" откроется поле настроек пира, в котором укажите название туннеля "wg-windows-client".
В поле "Публичный ключ" вставляем ключ из пункта номер 1, который необходимо скопировать из поля "Public key" в буфер обмена компьютера.
Окно "Create new tunnel" можно закрыть, нажимаем "Cancel".
NOTE: Важно! Оставляем окно подключения WireGuard открытым, не закрываем его.
Вставляем ключ в поле "Публичный ключ", в поле "Разрешенные подсети" указываем адрес, трафик с которого будет допущен до сервера в формате IP/bitmask — 172.16.82.6/32
В поле "Проверка активности" необходимо указать периодичность попыток проверки доступности удаленной стороны соединения. Обычно достаточно 10-15 секундного интервала между проверками. По умолчанию значение "Проверки активности" в настройках пира Keenetic указано 30 секунд.
Нажмите "Сохранить".
6. Возвращаемся к настройке конфигурации wg-client.conf
[Interface]
PrivateKey = IFSgdLsL/hRswYdF/5QlLwUnxm2/VLM4vDUV8Gbmb1I=
Address = 172.16.82.6/24
[Peer]
PublicKey = 1YVx+x3C817V9YdhUtpUhzyDLVj5tnK2m//WjFGynm4=
AllowedIPs = 172.16.82.1/32, 192.168.22.0/24
Endpoint = enpwgwrkserver.dynns.com:16631
PersistentKeepalive = 5
Настройка [Interface] клиента:
В поле "PrivateKey" интерфейса клиента уже введем созданный ключ WireGuard-клиента Windows в пункте 4.
В поле "Addresses" интерфейса клиента указываем IP-адрес, в формате IP/bitmask — 172.16.82.6/24 (это внутренний адрес туннеля). Можно использовать другую подсеть, при этом ее следует выбрать из частного диапазона адресов и избежать наложения с другими настроенными на данных устройствах подсетями.
Настройка [Peer] сервера:
В поле "PublicKey" вставьте публичный ключ сервера, который можно скопировать в буфер обмена компьютера из настроек WireGuard в веб-интерфейсе роутера:
В поле "AllowedIPs" указываем разрешенные IP-адреса, в формате IP/bitmask — 172.16.82.1/32 (это внутренний адрес сервера) и 192.168.22.0/24 (адрес локального сегмента роутера Keenetic).
В поле "Endpoint" указываем публичный IP-адрес или доменное имя WireGuard-сервера, и порт прослушивания, на который будет устанавливать связь WireGuard-клиент.
В поле "PersistentKeepalive" указываем периодичность попыток проверки доступности удаленной стороны соединения. Обычно достаточно 10-15-секундного интервала между проверками.
Жмем сочетание клавиш Ctrl+S, либо нажимаем "Файл", "Сохранить".
7. В открытом окне настроек подключения WireGuard из пункта номер 5, нажимаем на "Import tunel(s) from file" и выбираем на Рабочем столе файл "wg-client", жмем "Открыть".
8. После добавления конфигурации "wg-client" в программу подключения WireGuard, в списке "Tunnels" появится новое подключение.
Нажмите "Activate".
Если настройка выполнена правильно, напротив строки "Status" вы увидите зеленый индикатор.
Для проверки доступности сервера можно выполнить отправку ICMP-пакетов до IP-адреса в командной строке Windows.
Проверяем доступность веб-интерфейса сервера (в нашем примере это Keenetic с IP-адресом 192.168.22.1).
Настройка завершена.
Если вам нужно, чтобы подключенные клиенты получали через данное VPN-соединение доступ в Интернет, выполните дополнительную настройку из статьи "Доступ в Интернет через WireGuard-туннель".
Обращаем ваше внимание, что на стороне VPN-клиента в файле конфигурации wg-client.conf в разделе "[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.6/24
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 = enpwgwrkserver.dynns.com:16631
PersistentKeepalive = 5
TIP: Примечание: При условии, что в конфигурации один пир и указана разрешенная сеть "все адреса", приложение будет автоматически формировать запрещающее трафик мимо туннеля правило сетевого экрана на компьютере.
В статье "Подключение компьютера с Windows 7 к удаленной сети Keenetic по туннелю WireGuard" представлен альтернативный вариант настройки.