Wireguard: VPN в несколько команд

В одной из наших предыдущих статей мы рассказывали о том, как настроить WireGuard вручную на VPS. Тогда было много команд, сейчас мы покажем другой способ — будет по минимуму терминала и максимум пользы. К тому же способ, который мы покажем в статье отлично подходит для подключения большого количества клиентов к VPN.

Для создания VPN-сервера и подключения клиентов к нему понадобится:

  1. Виртуальный сервер с белым публичным IP в России;
  2. Скрипт автоматической установки и настройки WireGuard;
  3. Конфиги для подключения WireGuard-клиентов.

При выборе VPS для развертывания VPN-сервера стоит обратить внимание на географическое расположение ЦОДа и гарантированную ширину канала. Количество ядер, объем оперативной памяти и размер дискового пространства в этом случае не так важны. Хорошим примером удачного сочетания цены и качества являются виртуальные серверы от 1cloud.

Установка и настройка Wireguard

В этот раз мы не будем использовать стандартный Linux-репозиторий apt или apt-get, а воспользуемся сторонним скриптом для установки VPN — PIVPN. Вообще PIVPN был разработан для создания VPN-хостов на Raspberry Pi, но отлично применяется и для VPS.

Просто запустите команду curl -L https://install.pivpn.io | bash и после установки всех необходимых пакетов вы увидите следующие окно:

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

На следующем шаге — выберите созданного вами пользователя. В нашем случае — это пользователь vpn:

Дальше нужно определиться каким VPN-сервером вы будете пользоваться. Для выбора доступны два сервера: WireGuard и OpenVPN. Мы выбрали WireGuard:

Теперь нужно выбрать порт, на котором будет работать VPN. Если у вас на VPS есть другие сервисы, которые используют порты — нужно убедиться, что они не пересекаются, если же нет — смело можно оставлять стандартный порт WireGuard:

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

Далее нужно будет подтвердить IP-адрес VPN-сервера. В списке будут два пункта:

  1. текущий IP вашего сервера;
  2. публичный DNS-адрес.

Если вы используете VPS от 1cloud, то убедиться в правильности IP можно через Панель 1cloud — IP адрес указанный в Панели и в настройках WireGuard должны совпадать.

Мы выбираем IP-адрес выданный нам Панелью 1cloud:

После подтверждения IP проследует несколько информационных окон, где не требуется никаких действий с нашей стороны, поэтому мы их пропустим. На последнем этапе установки VPN нам предложат перезагрузить систему — соглашаемся:

После подтверждения перезагрузки SSH-соединение будет разорвано. По завершению процесса перезагрузки VPS нужно будет вновь подключится к серверу и начать процесс создания VPN-клиентов.

Настройка ПК-клиентов для WireGuard

Процесс установки и настройки WireGuard Windows-клиента очень прост. Если вы еще не скачали сам WireGuard, то скачать его можно здесь — на официальном сайте. После установки можно возвращаться к VPN-серверу и вводить команду pivpn add — эта команда создаст учетную запись клиента и конфигурационный файл для подключения:

После создания конфига, его надо скопировать на локальную машину (ПК, ноутбук и т.д.). В Windows 10+ есть встроенная утилита командной строки для копирования файлов на сервер и с него — scp. Для ее вызова нажмите «Поиск» на нижнем тулбаре основной панели Windows и введите cmd — первой строкой результата будет командная строка:

Введите команду: scp [логин для подключения к VPN]@[IP-адрес VPS-сервера]:/home/vpn/configs/[имя конфига] [директория скачивания]:

Если вы используете VPS от 1cloud, то логин для подключения будет один и тот же для всех серверов — root. После введения пароля для подключения к VPS — конфиг будет скачан в указанную вами директорию. Теперь его надо импортировать в WireGuard по следующей схеме:

  1. Откройте программу и нажмите кнопку «Импорт туннелей из файла» или «Добавить туннель»:
  2. Выберите скаченный конфиг и нажмите кнопку «Подключиться»:
  3. После подключения VPN-трафик сразу начнет идти, а сервисы определения геопозиции по IP будут показывать, что вы находитесь в России:

На этом настройка VPN-сервера и WireGuard Windows-клиента окончены. Перейдем к настройке мобильного клиента.

Настройка мобильных клиентов для WireGuard

Для подключения мобильных устройств на Android и iOS необходимо скачать мобильный WireGuard-клиент из Google Play или App Store. После установки клиента на мобильное устройство можно возвращаться к VPN-серверу и вводить уже знакомую нам команду pivpn add.

Далее нужно выполнить команду pivpn -qr — в открывшемся диалоговом окне выберите клиента для которого хотите сформировать qr-код для подключения:

После выбора нужного клиента будет сформирован qr-код, который нужно отсканировать мобильным клиентом WireGuard по следующей схеме:

  1. Перейдите в приложение и нажмите на кнопку «+» в правом нижнем углу:
  2. Выберете пункт «Сканировать QR-код»:
  3. Дайте название новому VPN-туннелю:
  4. Выберите новый VPN-туннель и подключитесь к нему кликом по тумблеру:

На этом все! Мы настроили VPN-сервер на WireGuard, подключили Windows- и Android-клиентов для WireGuard. Подведем краткий итог по статье.

WireGuard в несколько простых шагов

Все что нужно для создания быстрого и надежного WireGuard VPN-сервера на VPS: приобрести VPS-сервер с белым публичным IP-адресом, скачать и запустить скрипт автоматической установки PIVPN. После успешной установки WireGuard нужно добавить клиентов для подключения командой pivpn add [имя пользователя].

Мобильные клиенты для WireGuard подключаются через qr-код, который генерируется с помощью команды pivpn --qr. Основное преимущество подхода установки WireGuard через PIVPN-скрипт в том, что вы можете быстро и легко подключать множество клиентов, однако нужно помнить про лимиты пропускной способности канала связи.

У клиентов 1cloud есть возможность гибко настроить ширину канала связи на своих виртуальных серверах при их создании — это удобно и экономно. Ширина канала может быть выбрана от 10 Mbit/s до 150+ Mbit/s (по запросу). Заказать виртуальный сервер от 1cloud можно по кнопке ниже.