Подключение по протоколу WireGuard VPN из Windows
Чтобы удаленно подключиться к локальной сети интернет-центра Keenetic, начиная с версии ОС 3.3 стало возможно использовать туннель WireGuard VPN.
Сначала необходимо выполнить настройку сервера WireGuard в Keenetic, которая показана в инструкции Настройка WireGuard VPN между двумя роутерами Keenetic, после переходите к настройке VPN-клиента.
Важно
Если вы планируете настроить Keenetic в качестве VPN-сервера, начать необходимо с проверки того, что он имеет публичный "белый" IP-адрес, а при использовании сервиса KeenDNS, что он работает в режиме Прямой доступ, для которого также требуется публичный IP-адрес. При несоблюдении любого из этих условий подключение к такому серверу из Интернета будет невозможно.
Ниже приведем пример действий для подключения к серверу из операционной системы под управлением ОС Windows, на примере версии Windows 10.
Чтобы установить соединение к WireGuard-серверу Keenetic, в компьютере на базе ОС Windows, потребуется скачать и установить программу WireGuard с официального сайта.
- После установки программы и запуска, нажимаем в нижнем левом углу на стрелку вниз напротив Add Tunnel → Add empty tunnel... [Ctrl+N].  - Откроется окно настройки конфигурации подключения к удаленному WireGuard-серверу Keenetic — Create new tunnel.  - Важно- Оставляем данное окно открытым, не закрываем его. 
- Скачиваем файл wg-client.conf к себе на компьютер, можно на Рабочий стол. Открываем в текстовом редакторе, например в Notepad++.  - Откроется готовая конфигурация, в которую необходимо будет ввести настройки подключаемого WireGuard-клиента Windows - [Interface]и удаленного WireGuard-сервера Keenetic- [Peer]. - Важно- Оставляем данное окно открытым, не закрываем его. 
- Возвращаемся к открытому окну Create new tunnel пункта 1 и копируем из поля - PrivateKey =— приватный ключ WireGuard-клиента Windows в буфер обмена компьютера. - Важно- Оставляем данное окно открытым, не закрываем его. 
- Скопированный в буфер обмена компьютера приватный ключ WireGuard-клиента необходимо добавить в готовую конфигурацию из пункта 2 в строку - PrivateKey =. - Важно- Оставляем данное окно открытым, не закрываем его. 
- Настраиваем удаленное подключение на стороне ранее настроенного WireGuard-сервера. - Подключитесь к веб-конфигуратору роутера и перейдите в меню Интернет → Другие подключения. Нажмите на ранее созданное WireGuard-подключение ( - WG-S) и добавьте Настройки пира. Нажав на Добавить пир откроется поле настроек пира, в котором укажите название туннеля- wg-windows-client.- В поле Публичный ключ вставляем ключ из пункта номер 1, который необходимо скопировать из поля Public key в буфер обмена компьютера.  - Окно Create new tunnel можно закрыть, нажимаем Cancel. - Важно- Оставляем окно подключения WireGuard открытым, не закрываем его. - Вставляем ключ в поле Публичный ключ, в поле Разрешенные IPv4-подсети указываем адрес, трафик с которого будет допущен до сервера в формате IP/bitmask — - 172.16.82.6/32- В поле Проверка активности необходимо указать периодичность попыток проверки доступности удаленной стороны соединения. Обычно достаточно - 10-15секундного интервала между проверками. По умолчанию значение Проверки активности в настройках пира Keenetic указано- 30 секунд.- Нажмите Сохранить.  
- Возвращаемся к настройке конфигурации - 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, либо нажимаем Файл, Сохранить.
- В открытом окне настроек подключения WireGuard из пункта номер 6, нажимаем на Import tunel(s) from file и выбираем на Рабочем столе файл - wg-client, жмем Открыть. 
- После добавления конфигурации - 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/0Endpoint = enpwgwrkserver.dynns.com:16631 PersistentKeepalive = 5
Примечание
При условии, что в конфигурации один пир и указана разрешенная сеть все адреса, приложение будет автоматически формировать запрещающее трафик мимо туннеля правило сетевого экрана на компьютере.
