С февраля 2022 года каждый пользователь в составе своего тарифа получает возможность использования сервера WireGuard и устанавливать одно подключение к нему из сети Интернет.
Соединение WireGuard является дополнительным к вашим существующим туннелям и использование WireGuard не считается туннелем в рамках тарифного плана.
В рамах базового тарифа пользователю предоставляются 2 туннеля с протоколами PPTP, L2TP, L2TP/IPsec, IKEv2/IPsec, SSTP, OpenVPN и дополнительно одно соединение по протоколу WireGuard. Таким образом, каждый пользователь сможет одновременно установить три соединения к VPNKI.
Соединение WireGuard отличается еще и тем, что пока в нем нет возможности маршрутизации сетей, расположенных "за маршрутизатором", но мы планируем добавить такую возможность несколько позже.
Так как протокол WireGuard использует другую архитектуру, то логика его настройки на сервере VPNKI отличается от традиционной.
Мы хотим получить удаленный доступ к своей сети из Интернет с использованием протокола WireGuard. При этом наша сеть уже подключена к VPNKI по любому из протоколов - PPTP, L2TP/Ipsec, OpenVPN.
В качестве клиентского ПО мы будем использовать клиентское ПО WireGuard для Windows. Компьютер с клиентом WireGuard будет расположен в Интернет.
В момент подключения, в вашем клиентском ПО WireGuard будет создан туннельный интерфейс и использован адрес 172.16.0.3 сети VPNKI. Ну а хотим мы "достучаться" до сервера с адресом 192.168.1.10 в домашней сети.
Схема представлена здесь.
Основная особенность WireGuard состоит в том, что у него нет понятия клиент и сервер, а все соединения равнозначны.
Однако в нашей терминологии мы будем использовать слово "Сервер" применительно к тому WireGuard, который запущен на сервере VPNKI, а термин "Клиент" будем применять к Wireguard, который запущен на вашем компьютере с Windows.
Сначала нам будет необходимо сконфигурировать сервер WireGuard на VPNKI. Этот процесс состоит из двух шагов:
1.1. Начнем с выбора UDP порта. На главной странице туннелей выберите галочку "Использовать доступ через WireGuard".
Сервер выберет доступный UDP порт, на которому будет "слушать" ваш сервер WireGuard.
В данном примере система выбрала порт 26005 ( у вас будет какой-то другой). После завершения выбора порта можно переходить к предварительной конфигурации сервера.
1.2. На этом шаге система подготовит публичный и приватный ключи вашего сервере WireGuard.
Приватный ключ сервера VPNKI сохранит у себя, а вот публичный ключ покажет вам. Он будет необходим для корректной конфигурации вашего клиента WireGuard на ПК с ОС Windows.
Нажмите "Создать сервер WireGuard".
После генерации ключей система подготовила вам Публичный ключ сервера: Clu9YfM1KD8C+zl11fob2QDUiZcV1wqJzUOwihmavHA=. (у вас он будет какой-то другой).
На этом этап подготовки завершен и можно переходить к конфигурации клиента.
2.1. Установите ПО WireGuard на ваш ПК с ОС Windows, скачав пакет с официального сайта.
После установки вам будет необходимо создать новое соединение. Делается это в меню"Добавить туннель" и дальше нужно выбрать "Добавить пустой туннель".
После добавления пустого туннеля вам будет сгенерирован приватный и публичный ключи клиента. Эти ключи будут показаны на следующем экране. Нас будет интересовать только Публичный ключ (поле 1).
2.2. Назовите как-нибудь соединение (например VPNKI) и нажмите "Сохранить".
Теперь у вас есть предварительно сконфигурированное подключение, но это еще не полная его конфигурация.
Мы вернемся к нему чуть позже, а пока пришло время сообщить серверу публичный ключ клиента, а клиенту сообщить публичный ключ сервера. Вроде бы просто, но путаница возникает часто.
Выделите и скопируйте в буфер обмена Публичный ключ (поле 1). Сейчас мы перейдем к серверу VPNKI и укажем его там в настройках подключения.
3.1. Вернитесь к экрану настройки сервера Wireguard и в разделе "Данные клиента" нажмите "Создать подключение".
3.2. На следующем экране вам предложат ввести "Публичный ключ клиента".
3.3. Вставьте Публичный ключ клиента из буфера обмена (который вы скопировали туда на шаге 2.2) и нажмите "Сохранить".
!!! Обратите внимание, что ключ всегда имеет длину 44 символа, последний из которых знак равенства =.
3.4. После сохранения публичного ключа клиента на сервере запустится процесс WireGuard и он будет готов принимать подключение.
Теперь осталась одна деталь... надо окончательно сконфигурировать клиента и попробовать подключиться.
4.1. Завершим конфигурацию клиента. Для этого войдем в режим редактирования ранее созданного подключения при помощи кнопки "Редактировать".
4.2. Теперь вам нужно дозаполнить данные, которые будут описывать сервер и его данные. Это описание должно будет располагаться в месте красной рамки.
Взять эти данные для заполнения нам предстоит на сервере VPNKI. Для этого нажмите на кнопку "Конфигурация клиента".
Обратите внимание, что эта инструкция подразумевает, что ваш клиентский ПК расположен в сети Интернет. Но если сейчас ваш ПК подключен к домашней сети, которая, в свою очередь, уже подключена к VPNKI то имеет смысл выключить этот ПК из домашней сети и подключить его, например, к сотовому оператору связи.
Если ваш ПК уже в Интернет, то нажимайте Подключить и смотрите за результатом.
На скриншоте показано успешное подключение. Давайте попробуем выполнить пинг сервера VPNKI по туннелю WireGuard - ping 172.16.0.1.
Пинг успешен. Это хорошо. Но как быть если нужно выполнить пинг, например, адреса 192.168.1.1, который расположен где-то в вашей сети VPNKI.
С текущими настройками это будет невозможно. Потому что ваш клиент просто не отправляет пакеты к адресу 192.168.1.1 в интерфейс Wireguard. Вот пинг и не успешен...
Давайте добавим маршрут к вашей сети 192.168.1.0/24 через интерфейс WireGuard. Для этого остановим соединение и внесем изменение в настройки подключения на вашем клиенте. А именно ...
Добавим через запятую нужные адреса сетей, которые должны быть доступны через туннель WireGuard, сохраним настройки, переподключитмся и выполним пинг 192.168.1.1 .
Вот теперь все успешно. И в завершение можно выполнить пинг адреса сервера в домашней сети - 192.168.1.10.
Теперь все.
PS: В процессе написания инструкции мы обратили внимание на некоторые странности в работе ПО WireGuard под Windows. При попытке подключения в статусе содинения может быть написано "Подключен", но при этом не появляется статистика числа переданных и полученных байт. Ну и фактически трафик по туннелю не передается. Поэтому больше доверяйте статистике, чем самому статусу подключения. Если статистика есть - значит туннель работает.
Спасибо за внимание и успехов в пингах!
*** WireGuard пока в тестовом режиме, если вдруг что-то не получилось, обращайтесь на Форум.