Создание VPN при помощи WireGuard

WireGuard представляет собой протокол для виртуальных частных сетей (VPN), разработанный с целью обеспечения безопасного и эффективного обмена данными между устройствами через интернет. Его отличительными характеристиками являются простота, эффективность и высокая скорость передачи данных. Кроме того, в отличие от многих других своих аналогов WireGuard имеет более компактный и прозрачный код, что во многом упрощает его внедрение.

В настоящем руководстве попробуем настроить VPN-подключение между виртуальным выделенным сервером, работающем на Windows Server 2016, и рабочей станцией, находящейся внутри нашей локальной сети. При создании такого подключения у нас появится возможность осуществлять обмен данными между этими узлами через интернет. При этом трафик между ними будет зашифрован и, соответственно, защищён с целью обеспечения конфиденциальности и безопасности передаваемых данных.

Настройка VPN-сервера

Установка WireGuard на Windows-систему заключается в инсталляции соответствующего небольшого приложения. Загрузить его можно с официальной страницы WireGuard.

Страница загрузки дистрибутива WireGuard

По окончании загрузки запустите установщик, в результате работы которого откроется проинсталлированное приложение. Здесь нажмите Add Tunnel и затем кликните Add empty tunnel.

Добавление пустого туннеля в приложении WireGuard

В строку Name введите название создаваемого подключения, например, wg0. Затем добавьте в конфигурацию две строки:

ListenPort = 51820
Address = 10.0.0.1/32

Настройка сервера - Создание VPN при помощи WireGuard

В данном случае:

  • 51820 — номер порта, который будет использоваться при подключении. По умолчанию в WireGuard используется порт с номером 51820, но вы можете изменить его на другой.
  • 10.0.0.1/32 — IP-адрес, который мы назначаем своему VPN-серверу внутри создаваемой VPN-сети. Его вы также можете изменить на свой, но учитывайте, что клиентам вашего VPN необходимо будет присваивать IP-адреса из той же подсети.

Для сохранения внесённых изменений нажмите Save.

Настройка VPN-клиента

Настройка клиента VPN-клиента выглядит так же, как и настройка сервера. На локальный компьютер необходимо установить то же самое приложение, затем запустить его и добавить пустой VPN-туннель.

Настройка клиента - Создание VPN при помощи WireGuard

Здесь укажите название создаваемого подключения, которое не должно обязательно совпадать с названием подключения на сервере. Затем в раздел [Interface] добавьте строки, содержащие IP-адрес VPN-клиента (он должен быть в той же подсети, что и VPN-сервер) и IP-адрес сервера DNS, который будет использоваться в данном подключении.

В нашем примере эти строки выглядят следующим образом:

Address = 10.0.0.2/32
DNS = 8.8.8.8

После чего в конфигурацию VPN-клиента добавьте секцию [Peer]. Она должна содержать следующие параметры:

  • PublicKey — в качестве значения должен содержать публичный ключ (Public key) VPN-сервера (см. настройку VPN-сервера).
  • AllowedIPs — параметр указывает на IP-адреса и подсети, которые должны будут маршрутизироваться через создаваемый VPN-туннель (в нашем примере это подсеть 10.0.0.0/24).
  • Endpoint — IP-адрес VPN-сервера и номер используемого при подключении порта.
  • PersistentKeepalive — указывает на то, с какой периодичностью (в секундах) будет отправляться сообщение keepalive между клиентом и сервером VPN-сети (в нашем примере это — 20 секунд).

Чтобы сохранить изменения, внесённые в конфигурацию, нажмите Сохранить.

Активация VPN-соединения

На заключительном этапе настройки нашей VPN-сети необходимо снова вернуться к настройке сервера. Здесь откройте конфигурацию сервера WireGuard при помощи кнопки Edit.

Добавление информации о клиенте в конфигурацию VPN-сервера WireGuard

В окно редактирования конфигурации добавьте секцию [Peer], которая должна содержать параметры подключаемого в VPN-сети клиента. А именно:

  • PublicKey — параметр должен содержать публичный ключ (Public key) клиента VPN-сети (см. настройку VPN-клиента).
  • AllowedIPs — IP-адрес VPN-клиента.

Для сохранения изменений в конфигурации нажмите Save. После чего уже можно активировать созданное VPN-подключение. Для этого в приложении и на сервере, и на клиенте кликните Activate или Подключить.

После активации VPN-соединения между сервером и клиентом в приложении WireGuard будет отражаться статистика подключения.

Окно приложения WireGuard при активном VPN-подключении

Убедиться в том, что соединение между нашими узлами работает, можно запустив ping с сервера на клиента и наоборот. То есть, в нашем примере со стороны клиента, имеющего IP-адрес внутри созданной VPN-сети 10.0.0.2, сервер, IP-адрес которого 10.0.0.1, будет отвечать на эхо-запросы, запущенные командой ping 10.0.0.1. И наоборот, если на сервере запустить команду ping 10.0.0.2, мы увидим, что клиент нашей VPN-сети доступен внутри неё, то есть отвечает на отправляемые запросы. Всё это, разумеется, будет работать, если и на сервере, и на клиенте разрешены ответы на запросы по ICMP.

Вам также может понравиться