WireGuard VPN - это быстрый и безопасный протокол виртуальной частной сети (VPN). Он использует современные криптографические протоколы и алгоритмы для защиты соединения, а также предоставляет быструю и эффективную передачу данных. WireGuard VPN поддерживает множество платформ, включая Linux, Android, iOS, macOS и Windows, и может быть интегрирован в существующую сетевую инфраструктуру. 

Особенности сборки

  • Возможна установка на семейство RHEL 8+.
  • Время на установку 15-20 минут вместе с OS.
  • Контейниризованная установка WGUI + SSL в зоне hostkey.in
  • Установленное ПО:
    • Docker CE;
    • Docker Compose.
  • Использованные контейнеры:
    • ngoduykhanh/wireguard-ui:latest;
    • jonasal/nginx-certbot:latest.
  • Путь до compose: - /root/wgui.
  • Путь до примонтированных директорий: - /data.
  • Для кастомизации установки необходимо внести правки в /root/wgui/compose.yml после перезапустить compose через команды docker compose down -f /root/wgui/compose.yml && docker compose up -f /root/wgui/compose.yml -d

Веб-интерфейс будет доступен по url: https://vpn{server_id}.hostkey.in. Логин - root, пароль от SSH (указан в теге “Password”).

Данные для подключения

Управление сервисом осуществляется в панели управления WireGuard с веб-интерфейсом, ссылка на которую расположена в Invapi:

os_1.png

Здесь же расположены данные для авторизации:

Ссылка: в теге “webpanel”;
Логин: в теге “user_name”;
Пароль: в теге “password”.

Использование VPN-сервера

Для работы с VPN необходимо создать пользователя, под которым будет осуществляться подключение. Подробнее о подключении читайте в разделе “Подключение к VPN-серверу WireGuard”. 

Создание нового пользователя:

  • Откройте панель управления VPN-сервером WireGuard по ссылке из раздела "Данные для подключения";
  • В левом меню выберите "Wireguard Clients";
  • В правом верхнем углу нажмите кнопку "New Client":

new_client.png

  • Заполните обязательное поле "Name". Остальные поля не изменяйте без необходимости:
    • IP Allocation - заполняется автоматически;
    • Allowed IPs - заполняется автоматически. 0.0.0.0/0 означает, что при подключении к VPN-серверу доступ ко всем сетевым ресурсам будет идти через VPN;
    • В пункте "Preshared Key" можете проставить знак "-". Это отключит дополнительное шифрование, которое требуется для устойчивости при взломе, но в данный момент развития технологий не является востребованным:

iivanov_1.png

  • Нажмите кнопку "Submit";
  • Нажмите кнопку "Apply config" в правом верхнем углу (рядом с кнопкой "New Client").

Необходимо завершать любые изменения профиля пользователя, используя кнопку "Apply config". Без нажатия этой кнопки VPN-подключение не будет работать.

Клиент создан, и сервер ждет подключения.

Подключение к VPN-серверу

Mac/Windows

  • Установите клиент WireGuard на ваше устройство;
  • Откройте панель управления VPN-сервером WireGuard по ссылке из раздела "Данные для подключения";
  • В левом меню выберите "Wireguard Clients";
  • Найдите нужного клиента;
  • Скачайте конфигурационный файл для этого клиента, нажав на кнопку “Download”:

edit_1.png

  • Запустите на своем устройстве клиент WireGuard;
  • Нажмите на кнопку “Импорт туннелей из файлов” и выберите скачанный конфигурационный файл. Появится новое соединение с заданным вами ранее именем пользователя, статус подключения будет “Отключен”.
  • Нажмите кнопку "Подключить", статус изменится на “Подключен”.

wireguard_1.png

wireguard_2.png

В некоторых случаях для корректной работы сервиса может понадобиться перезагрузка локального устройства.

IOS и Android

  • Установите приложение WireGuard из Google Play Market для Android или из AppStore для IOS;
  • Откройте панель управления VPN-сервером WireGuard по ссылке из раздела "Данные для подключения";
  • В левом меню выберите "Wireguard Clients". Найдите нужного клиента. Откройте QR-код этого клиента, нажав на кнопку “QR code”:

edit_1.png

  • Откройте приложение WireGuard на телефоне;
  • Нажмите кнопку "Добавить туннель". Выберите опцию "Сканировать QR-код"; 
  • Отсканируйте QR-код. Дайте название подключению;
  • Разрешите приложению изменение настроек VPN, следуя подсказкам телефона;
  • Для подключения к VPN-серверу переключите свитчер во включенное состояние.

Linux

Скачайте конфигурационный файл и выполните команду:

sudo nmcli connection import type wineguard file "FILE_NAME.conf"

Использование VPN-сервера в качестве HTTP-proxy

Сервер с установленным WireGuard можно использовать в качестве HTTP-proxy сервера для всех популярных браузеров. Вы можете воспользоваться стандартными настройками браузера для установки соединения через HTTP-proxy или дополнительными средствами управления HTTP-proxy в браузерах, например, SwitchyOmega, ProxMate, Proxy-Switcher и другими.

В данной инструкции разберем  установку и использование SwitchyOmega.

Для установки и использования SwitchyOmega следует выполнить следующий алгоритм действий:

1. Установить расширение SwitchyOmega для браузера Google Chrome или Mozilla Firefox.

2. Создать профиль прокси-сервера в SwitchyOmega:

  • Открыть браузер и нажать на иконку SwitchyOmega в правом верхнем углу окна браузера;
  • Выбрать "New Profile" в меню;
  • Ввести название профиля в поле "Название профиля";
  • Выбрать тип прокси-сервера в меню "Protocol" - HTTP;
  • Ввести внутренний адрес VPN-сервера 10.252.1.1 и его порт 3128 в соответствующие поля;

Для использования HTTP-proxy изначально требуется подключиться к VPN-серверу.

  • Нажать кнопку "Сохранить".

3. Включить профиль прокси-сервера в SwitchyOmega.

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

Пример настроек в Google Chrome:

omega_1_1.png

proxy.png

Проверка работоспособности VPN

Для проверки подключения к серверу можно ввести в поисковой строке браузера запрос "What is my IP" или посетить сайт whatismyipaddress.com. При успешном подключении к сервису будет указан IP-адрес и регион:

my_ip.png

Заказ WireGuard VPN с помощью API

curl -s "https://invapi.hostkey.ru/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \
Tags:
Created by Hostkey Admin on 2023/04/18 16:36