Настройка wireguard oracle cloud

Обновлено: 30.06.2024

Это подробная инструкция по настройке личного VPN на протоколе Wireguard, чтобы обходить блокировки Роскомнадзора и защищаться от хакеров в чужих Wi-Fi с компьютеров и телефонов. По шагам, с картинками, для самых маленьких.

Если вы в России, у вас наверняка не работает LinkedIn или тормозит Twitter, а в месте с ним и половина интернета. VPN поможет нивелировать вредительство провайдеров и государственных органов. Кроме того, в общедоступных Wi-Fi точках, к которым вы подключаетесь в кафе, могут сидеть мамкины хакеры, которые перехватывают трафик и могут украсть у вас данные или подсунуть вирус. Достаточно включить VPN, и ваш трафик станет для таких вредителей недоступен.

Содержать VPN-сервер стоит денег, потому что где-то должен работать компьютер с серверной программой, и кто-то должен платить за электричетсво и работу инженеров. Если не платите вы, значит платит кто-то другой. В замен этот другой получает что-то ценное, например ваши персональные данные, которые затем можно использовать для мошенничества или шантажа. Не пользуйтесь бесплатными VPN-сервисами.

Обычно VPN-сервисы продают аккаунты с ограничением на одновременное количество пользователей. Тот же Astrill, популярный в Китае, не позволяет подключаться больше чем с трёх устройств одновременно, при этом в месяц их VPN стоит от $10. Со своим сервером вы можете легко создать 10-20 пользователей и раздать их всем своим друзьям и знакомым: даже самый дешёвый VPS за $5 в месяц справится с такой нагрузкой.

Конечно, у платных VPN есть свои плюсы, например быстрое переключение между локациями (чтобы сменить сервер с Германии на США, например), особо продвинутые средства обхода блокировок и тому подобное. К счастью, в России блокировки осуществляются довольно просто, и для их обхода такие сервисы избыточны.

Вам понадобится VPS — самый дешёвый хостинг в стране, где блокировок нет. Мои рекомендации:


    от $3.5 в месяц, при регистрации по рефералке дадут $100 на месяц.
    от $5 в месяц, по рефералке дадут $100 на два месяца.
    от $5 в месяц, по рефералке ничего не дают, зато считают использование по часам — можно экспериментировать за гроши.

Или любой другой сервер на Ubuntu за пределами России, к которому у вас есть root-доступ.

Шаг 1 — Запустите VPS

Нужен самый простой сервер на Ubuntu 20.04 или новее.

  1. Перейдите на страницу Droplets
  2. Create -> Droplets -> Ubuntu 20.04 -> Basic -> Regular Intel with SSD -> $5/mo -> Amsterdam (или любой другой, кроме Singapore) -> Password (придумайте длинный пароль) -> Create Droplet
  3. Снова перейдите на страницу Droplets и найдите там IP-адрес вашего сервера

Мы воспользуемся готовым скриптом от доброго человека.


На этом этапе у вас есть установленный и работающий сервер WireGuard. Теперь нужно создать учётные записи для подключения с компьютера и телефона.

Сразу после установки WireGuard в консоли начнётся процесс создания учётной записи.

Кроме того, нужно сохранить текстовые данные к этой учётной записи для подключения с компьютера. Для этого откроем файл конфигурации:

  1. Найдите строку с адресом файла конфигурации сразу под QR-кодом, в моём случае она выглядит так:
    It is also available in /root/wg0-client-wtigga_vpn.conf
  2. Наберите команду nano, а затем после пробела напишите адрес к этому файлу, в моём случае это:
    nano /root/wg0-client-wtigga_vpn.conf
  3. В консоли откроется файл с конфигурацией. Скопируйте весь текст из этого файла в любой текстовый файл на своём компьютере, и сохраните.

Лучше давать каждому пользователю по учётной записи, чтобы при необходимости можно было точечно её отключить.

Чтобы добавить ещё одного пользователя, снова введите команду
./wireguard-install.sh


Скрипт спросит, что именно сделать. Введите единицу (Add a new user), нажмите Enter и вы снова увидите процесс создания нового пользователя.

Windows / Mac

Android / iOS

  1. Установите официальное приложение для Android (APK) или iOS
  2. Запустите, выберите (+) и Сканировать QR-Код
  3. Отсканируйте код, который вы заскриншотили в консоли
  4. Назовите его любым именем и нажмите Создать туннель
  5. Теперь нажмите на переключатель напротив вновь сохранённого туннеля, и вы попадёте в интернет без блокировок.

Послесловие

От чего не защитит VPN

Не используйте такой VPN для скачивания торрентов, продажи наркотиков или распространения детской порнографии. Вы оплачиваете VPS со своей банковской карты, а это значит, что для хостинга (Vult, DigitalOcean и других) вы не являетесь анонимом. И если полиция условной Германии будет расследовать уголовное дело, в котором фигурирует ваш VPN, то ваше имя там всплывёт.

Именно по этой причине нужно делать отдельные учётные записи WireGuard для каждого пользователя, и никогда не выкладывать эти учётки в открытый доступ, иначе вам возможно придётся отвечать за действия какого-то анонима из интернета.

И, разумеется, VPN не сделает вас анонимным, если вы заходите в социальные сети под учёткой с вашим настоящим именем.

Задался целью организовать удаленный доступ к серверу УД, чтоб можно было занимается настройкой УД с работы, ну и с телефона в случае чего зайти.

Создал экземпляр виртуальной машины Ubuntu 20.04. Установил там Wireguard - имеется следующая конфигурация на wg0.conf:

До самой Raspberry Pi еще дело не дошло. Сейчас хотя бы добиться нормального подключения к серверу со всех клиентов, чтоб был интернет, ping между всем клиентами, попасть в локальную сеть.

Почему-то SSH работает. С сайта сканера портов по общедоступному IP вижу открытый 22-й порт TCP, а вот 51820 закрыт. Wireguard по идеи работает, wg show показывает информацию о сервисе, но трафик не бегает и клиенты при подключении не получают данные.

На сервере тут /etc/sysctl.conf раскомментировал net.ipv4.ip_forward=1, сюда /proc/sys/net/ipv4/ip_forward добавил 1.

Думаю, что нужно больше ковыряться в веб-морде самого Oracle Cloud, хотя и тут вроде разрешил все входящие соединения.

Тут есть общедоступный IP-адрес, по которому получаю доступ к виртуальной. машине.
Есть основной виртуальный адаптер с частным IP-адресом 10.0.0.3. Подсеть subnet со следующими параметрами:
Блок CIDR: 10.0.0.0/24
Тип подсети: Региональная
Доступ к подсети: Общедоступная подсеть

Есть еще тут таблица маршрутизации по умолчанию, где у меня есть правила для входящего и исходящего трафика с назначением\источником: 0.0.0.0/0, со всеми IP протоколами и разрешением трафика для всех портов.

В правилах маршрутизации есть еще разные варианты типа адресата, кроме Интернет-шлюз, которые мне не совсем понятны, хоть и читал документацию.

Еще обнаружил возможность резервирования общедоступных IP-адресов, но по сути у меня есть такой для виртуально машины, по которому собственной и подключаюсь через SSH.

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

Под спойлером 7 скриншотов с веб-интерфейса Oracle и терминал виртуальной машины для наглядности, хотел максимально подробно описать ситуацию.


Существует много разных программ предоставляющих vpn соединение клиент-сервер, как платные многофункциональные с разными возможностями, так и бесплатные. Но что если стоит задача реализовать комплекс функций, таких как:

  • подключение клиента автоматически при загрузке ОС
  • автоматически восстанавливать соединение при переключении между WiFi точками
  • VPN клиент должен быть виден из офисной сети
  • кросплатформенность vpn клиента и ПО для удаленного управления
  • минимальное участие пользователя в настройках vpn клиента
  • доступ клиента к хостам и подсетям ограничивается правилами ACL
  • настройка клиентов и ACL из одного удобного GUI
  • отказоустойчивость VPN серверов
  • логирование (минимум Layer 3)
  • передавать логи в поисковую систему (например ELK стек)


Наблюдая за повседневными тяжбами тех. поддержки удаленного администрирования клиентов, уже давно зрела мысль сделать сотрудников работающих удаленно и внутреннюю инфраструктуру как одно целое и легко управляемое. В условиях, когда все больше сотрудников переходят на удаленную работу, это все больше становится актуально.

Основная задача была сделать дополнительную внутреннюю подсеть без NAT и посредников, чтобы vpn клиент видел внутреннюю подсеть и из внутренней подсети можно было видеть vpn клиента на прямую и чтобы администратор подключенный к одному vpn серверу видел и мог подключатся к vpn клиенту подключенному к другому vpn серверу.

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

За основу, где будет развернут vpn сервер была выбрана ОС Ubuntu 18.04.5 LTS.

Для vpn сервера был выбран WireGuard, всем характеристикам он соответствует. Он легковесный, имеет минимум настроек. Клиентская часть запускается при старте ОС, сама поднимает канал и кросплатформенная. Работает через udp протокол. При шифровании канала потеря скорости всего в районе 20%. Каждый клиент получает свой собственный ip адрес, что позволяет управлять доступом каждого клиента через iptables .

В качестве firewall был выбран iptables и его управление через ПО Shorewall. Даже первоначальные настройки Shorewall не вызвали никаких затруднений и в работе он легок для восприятия.

Удаленное управление пользователями в ОС Windows было осуществлено через TightVNC, msi файл которой можно пересобрать по своему усмотрению. Серверная часть ПО не прожорливая, служба не падает, передает только jpeg скриншоты и управление клавиатурой/мышкой. Защищена паролем на подключение и администрирование. Для других ОС есть разные реализации серверной части VNC.

Управление настройками, добавление настроек/клиентов было реализовано через развернутый в инфраструктуре GitLab и CI Pipelines. Все редактирование/создание файлов можно осуществлять через веб интерфейс не используя команду git которую не до конца могут понимать коллеги из поддержки. К тому-же через веб интерфейс визуально будет понятнее.

Сбор логов был реализован через Fluentd и/или Filebeat и все отправлялось в Elasticsearch.

С небольшой вводной закончил, далее будет расписано как все собрать с небольшими пояснениями. Все ссылки будут в конце статьи.

Установка ПО для различных ОС есть на официальном сайте.

Генерируем публичный и приватный ключи.

Все ключи лежат /etc/wireguard/

Создаем файл wg0.conf

Собираем конфигурационный файл

Во многих мануалах еще добавляют 2 строчки:

Последние строчки PostUp и PostDown верны если вы хотите клиента спрятать за NAT . В таком случае все клиенты при подключении будут иметь ip адрес внутреннего сетевого интерфейса сервера, но нам это не нужно, поэтому мы их не добавляем.

Перед включением интерфейса wg0 , разрешим серверу пересылать пакеты вперед.

Возможно после этих настроек сервер нужно будет перезагрузить, если не будет пинговаться ip wireguard.

В iptables сбросим все цепочки правил и пропустим весь трафик

Проверяем, запустим службу

Добавляем wg на запуск при загрузке

Сделаем копию файла wg0.conf в этой же папке /etc/wireguard/

Важно чтобы в копии были настройки именно [Interface] .

Создадим несколько папок где нибудь в /opt

Скопируем wg0.conf в /opt/git/wg и сделаем ссылку на файл

Для чего последние действия нужны? Скопировав настройки интерфейса в файл wg0.sempl мы вынесли приватный ключ сервера в отдельный файл, при написании CI в .gitlab-ci.yml мы будем это учитывать. Перенесли конфиг в папку /opt/git/wg и сделали ссылку для того, чтобы в последствии собирать целый конфигурационный файл в папке отличной от /etc/wireguard . Сам конфигурационный файл будет собираться из 2 частей, часть с настройками [Interface] и часть с [Peer] клиентов, которые будут добавляться из gitlab.

Настраиваем пограничный маршрутизатор пропускать входящие подключения по порту udp: 5505 на наш сервер. Так-же не забываем указать статический маршрут подсети 192.168.30.0/24 на внутренний сетевой интерфейс нашего сервера. При поднятии интерфейса wg0.conf адрес 192.168.30.1 должен пинговаться с любого хоста в нашей внутренней подсети, если не пингуется советую на этом моменте остановится и решить этот вопрос. Проверьте правила фаервола на маршрутизаторе. Чтобы подсеть 192.168.30.0/24 заработала через ipsec достаточно эту подсеть добавить во 2 фазу политики локальных, а с другой стороны удаленных адресов.

Что мы должны передавать клиенту после всех настроек? Создадим шаблон

Если в AllowedIPs указать 0.0.0.0/0 , то мы завернем интернет трафик клиента через VPN. Можно указывать диапазон внутренних подсетей.

Дополнительно протестируем видимость vpn клиентов из внутренней сети. Возьмем тестовый ноутбук и установим Wireguard клиента, там же создадим новое подключение и скопируем публичный ключ клиента.

На сервере выключаем интерфейс wg0

Создадим peer в файле конфигурации wg0.conf

Тестовому клиенту передаем конфигурацию подключения к серверу

Полная конфигурация wireguard у клиента должна выглядеть так

Сохраняем настройки у клиента и на сервере и запускаем интерфейс wg0

Подключаемся клиентом и пробуем запустить ping на внутренние сервера. Заходим на любой внутренний сервер и запускаем ping 192.168.30.2 к нашему тестовому vpn клиенту, ping от сервера к клиенту должен проходить. Пробуем с внутреннего сервера подключится каким-нибудь ПО для удаленного управления к нашему vpn клиенту, все должно работать и наш тестовый vpn клиент должен быть виден. Если из внутренней сети не получается увидеть vpn клиент, то еще раз проверяем настройки, перезагружаем сервер и проверяем маршруты на шлюзах.

На данный момент никаких клиентов и никаких подключений снаружи нам не нужно, поэтому созданного клиента удаляем из конфигурации wg0.conf .

Вступление есть, продолжаем.

После установки нужно добавить параметры в файл shorewall.conf и создать несколько файлов с переменными и дополнительными параметрами. Большой мануал есть на официальном сайте.

Начнем по порядку, изменим некоторые параметры shorewall.conf

Если в файл логи не будут записываться, добавьте прав на файл/папку. Не забудьте настроить ротацию лога.

Продолжаем настройку shorewall и создадим несколько файлов.

Создаем файл interfaces , в нем запишем переменные для наших интерфейсов и опции

Создадим файл с переменными подсетей и хостов и запишем все наши подсети и важные сервера в сети

Здесь нет ограничений на переменные, мы расписали все внутренние подсети, добавили контроллер домена, free ipa, внутренние DNS, подсети VPN, и административные ip адреса, добавили группу протоколов.

Добавим этот файл в общие настройки

Напишем политику и правила которые будут работать по умолчанию.

В данном примере логируются все соединения. Переменная $FW обозначает сам фаервол, т.е. любое соединение от любого интерфейса направленного на wg будет сброшено. Эти правила применяются последними.

Создадим файл и сделаем описания типа переменных

Самый большой файл получается с сервисами, создадим его и заполним

Расписываем все порты всех наших внутренних сервисов. Какие порты и какой протокол сервисом используются можно найти на официальном сейте каждого из сервисов.

Напишем правила по умолчанию для всех наших подсетей включая и подсети vpn сбрасывающих все соединения

Остался практически самый последний и самый главный файл с описанием всех правил и всех включений с определенным порядком, т.к. Shorewall поддерживает включение множества файлов из папки, для начала сделаем 2 папки в которых мы будем заполнять файлы для клиентов vpn с доступом ко внутренней сети/хостам и с доступом в интернет (да, будем выпускать пользователей в интернет через vpn )

Создаем 2 папки

Разрешим доступ к интернету

Разрешим доступ к некоторым хостам из сети (так же можно комбинировать правила)

После последнего правила не обязательно писать правило DROP , мы все соединения, которые будут сбрасываться реализуем в файле rules .

Итак, добавляем файл rules и вносим правила

  • разрешаем соединение сервисов к клиенту и от клиента
  • разрешаем/запрещаем соединения к сетям/хостам
  • запрещаем доступ ко всем внутренним подсетям и подсетям vpn
  • разрешаем доступ в интернет (при наличии файла с правилом)

Применяем правила фаервола

Зачем пропускать интернет-трафик через WireGuard сервер?

Допустим у нас веб-сервер на определенную локацию пропускает только определенный диапазон ip внешних адресов в этот диапазон допустим входит и внешний ip адрес офиса/облака, а т.к. трафик идет через WG сервер и на прямую через пограничный маршрутизатор который выпускает в интернет, то клиент при выходе в интернет будет получать внешний ip офиса/облака и не обязательно заворачивать весь интернет трафик через WG, достаточно просто указать внешний ip адрес пограничного веб-сервера/балансировщика. Для этого у клиента в AllowedIPs необходимо прописать внешний ip (например — AllowedIPs = 10.15.1.0/24, 10.17.1.0/24, 4.3.2.1 ) на который мы хотим выпускать трафик через WG и в rules_internet.d в shorewall добавить правило для клиентского ip .

Во всей этой легкости написания правил доступа клиентов во внутреннюю сеть есть одно "но", shorewall сбрасывает цепочку правил и применяет новые только если увидит в корневой папке /etc/shorewall/ изменения хотя-бы в одном файле, т.е. изменения в папке rules_internet.d/rules_networks.d не изменят правил iptables . Мы учтем это когда будем собирать все в gitlab.

На этом этапе можно создать тестового пользователя и тестовое подключение через Wireguard, разрешить все правилами Shorewall и пингануть с любого хоста внутренней сети vpn клиента. Пинги должны проходить и к клиенту должен быть доступ по всем портам. Если vpn клиент не виден из внутренней сети, значит не добавили правила маршрутизации или есть ограничения фаервола как на vpn сервере, так и на маршрутизаторе. Все vpn клиенты должны быть доступны с административных ip адресов, которые мы указывали в переменной ADM_IP и ADM_IP_VPN .

Предлагаю на этом не останавливаться и продолжить, осталось немного :)

Допустим у нас уже есть selfhosted gitlab для внутреннего использования, если нет, то его не так сложно развернуть через тот-же docker-compose .

Для начала создадим новую группу и новый проект, создадим репозиторий vpn-01 и создадим следующую структуру

Переносим настройки, описанные ранее во все файлы в папке shorewall на gitlab. В README.MD можно вести учет пользователей, написать мануал для суппорта.

Файлы networks.mgmt , params.mgmt и services.mgmt копируем в репозиторий для того, чтобы не редактировать/дополнять правила или переменные на сервере, а производить все опирации с GUI gitlab.

В файле wg0.conf будут записи только клиентов. Добавляем несколько клиентов

При применении правил эти файлы будут прочитанны последовательно и правила будут применяться для конкретных wireguard клиентов.

Всё, настройки shorewall перенесли и добавили 2 клиентов. Далее настраиваем gitlab-runner , Deploy Token с правами read_repository и заполняем .gitlab-ci.yml .

Устанавливаем gitlab-runner на vpn сервере

на сайте в настройках репозитория берем token Settings -> CI/CD -> Runners и регистрируем

Создадим deploy token , заходим в настройки репозитория Settings -> Repository -> Deploy Tokens создаем с правами read_repository

На vpn сервере добавим права для gitlab-runner и добавим в sudo

Добавим побольше прав для папки /opt/git/

Переходим в репозиторий и открываем файл .gitlab-ci.yml на редактирование и вставляем следующие строчки

Запускаем скрипт с последовательными командами:

Запускаем CI/CD -> Pipelines, смотрим последний Commit и запускаем.

Не забываем выдать права кому на Merge Requests, а кому на Pull Requests.

На этом этапе мы уже полностью реализовали задуманное, но нужно идти до конца)

Допустим по счастливой случайности так оказалось, что в нашей сети есть не только GitLab, но и Elasticsearch с Kibana. Реализуем пересылку и хранение логов в Elasticsearch.

Для начала на vpn сервере исправим значение на открытие файлов

После этого нужно будет перезагрузится

Устанавливаем на vpn сервер Fluentd

Добавим строчки в /etc/td-agent/td-agent.conf или сделаем в отдельном файле (тогда нужно будет включить файл в основной конфигурации)

По сути наш лог относится к syslog , поэтому мы его просматриваем и разбираем как syslog

Смотрим в кибану на результат


Только перед этим не забываем добавить новые шаблоны индексов.

С Filebeat все еще проще. Устанавливаем на сервер.

Включаем модуль iptables

Изменяем настройки в самом модуле

И в файле /etc/filebeat/filebeat.yml добавляем наш Elasticsearch сервер

На последок хотел затронуть тему оптимизации Elasticsearch или как заставить Elasticsearch прожевать 7000 шард на одной ноде и не поперхнуться при характеристиках сервера RAM — 10 Gb и vCPU — 6.

На эту тему есть много материала и везде пишут одинаково, в файле /etc/security/limits.conf выставляем лимиты, добавляем в /etc/elasticsearch/jvm.options значение -Xms чуть больше половины RAM.

И допустим в лимитах у нас стоит значение

и подкручен конфиг /etc/elasticsearch/elasticsearch.yml

Но у нас все равно выскакивает индекс с ошибкой

Тут дело в том, что у службы свои лимиты и находятся они в /etc/systemd/system/elasticsearch.service.d/elasticsearch.conf или /etc/systemd/system/multi-user.target.wants/elasticsearch.service и здесь как раз накручиваем значения

Перезапускаем службу/сервер и смотрим как 7000 шард расфасуются за несколько десятков минут.

Вот в принципе и все чем я хотел с вами поделиться, задача поставлена весь процесс написан, и вы можете спросить так в чем отказоустойчивость? А она в том, что вас никто не ограничивает в выборе места разворачивания сервера и количества серверов, можно сделать несколько независимых точек входа на разные сервера и каждый будет со своей конфигурацией, что бы это было отказоустойчивым делайте пользователям сразу как минимум 2 конфигурации и все.

WireGuard – достаточно новый VPN протокол, набирающий популярность. Примечателен высокой производительностью и использованием современной криптографии.

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


Как видно из сравнительной таблицы, WireGuard показывает не только самую высокую скорость, но и лучший результат по пингу.

Вы так же можете воспользоваться другим вариантом установки WireGuard, а именно Быстрая установка сервера WireGuard VPN с веб-интерфейсом .

Быстрая установка WireGuard Manager

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

Устанавливать данный VPN будем из github репозитория complexorganizations / wireguard-manager.

Для установки с помощью данного скрипта поддерживаются следующие операционные системы: CentOS, Debian, Ubuntu, Arch, Fedora, Redhat, Raspbian с ядром Linux 3.1 и выше.

В данном случае будет рассмотрена установка на сервер Ubuntu.

Сначала установим инструмент curl:

Затем скачиваем скрипт установки:

Делаем скрипт исполняемым:

И запускаем установку:

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

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


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


Скрипт так же предложит установить DNS сервер Unbound, хорошее решение для лучшей приватности. В дальнейшем для клиентов (пиров) можно будет задать альтернативный DNS сервис.

На последнем этапе настройки задаем название клиентскому файлу конфигурации.


Настройка и затем установка WireGuard займет не больше 5 минут.

По окончанию установки будет отображен qr-код для подключения.


Android версия приложения поддерживает установку соединения через qr-код.


Так же Android версия позволяет изменять конфигурационный файл, а также содержит белый и черный список приложений, которые будут работать через VPN-туннель WireGuard.


Для этого нужно нажать на название созданного туннеля, затем на значок карандаша в правом верхнем углу, затем в появившемся окне будет доступна опция All Application.

Там же в настройках конфигурации можно вручную изменить DNS сервер, например на сервер с блокировкой рекламы и фишинга, например на Comss.one DNS.


Важно: для каждого отдельного устройства нужно генерировать отдельный конфигурационный файл.

Конфигурационные файлы доступы в директории /etc/wireguard/clients/ .

Таким образом для Windows клиента нам нужно создать еще один конфигурационный файл. Для этого мы запускаем скрипт WireGuard Manager с помощью команды:


И выбираем вариант Add WireGuard Peer (под номером 5), задаем новое имя. Нам снова предложат qr-код, но для подключения в Windows нам понадобится конфигурационный файл, который можно скачать из директории /etc/wireguard/clients/ .

Для удобной работы с сервером, как с консолью, так и с файлами я работаю через приложение Snowflake.

Устанавливаем приложение – клиент для Windows.


И импортируем в него загруженный из сервера конфигурационный файл.

Аналогично Android приложению, файл можно отредактировать и заменить в нем DNS сервер, при необходимости.


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

Читайте также: