В одной из наших предыдущих статей мы рассказывали о том, как настроить WireGuard вручную на VPS. Тогда было много команд, сейчас мы покажем другой способ — будет по минимуму терминала и максимум пользы. К тому же способ, который мы покажем в статье отлично подходит для подключения большого количества клиентов к VPN.
Для создания VPN-сервера и подключения клиентов к нему понадобится:
- Виртуальный сервер с белым публичным IP в России;
- Скрипт автоматической установки и настройки WireGuard;
- Конфиги для подключения 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-сервера. В списке будут два пункта:
- текущий IP вашего сервера;
- публичный 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 по следующей схеме:
- Откройте программу и нажмите кнопку «Импорт туннелей из файла» или «Добавить туннель»:
- Выберите скаченный конфиг и нажмите кнопку «Подключиться»:
- После подключения VPN-трафик сразу начнет идти, а сервисы определения геопозиции по IP будут показывать, что вы находитесь в России:
На этом настройка VPN-сервера и WireGuard Windows-клиента окончены. Перейдем к настройке мобильного клиента.
Настройка мобильных клиентов для WireGuard
Для подключения мобильных устройств на Android и iOS необходимо скачать мобильный WireGuard-клиент из Google Play или App Store. После установки клиента на мобильное устройство можно возвращаться к VPN-серверу и вводить уже знакомую нам команду pivpn add.
Далее нужно выполнить команду pivpn -qr — в открывшемся диалоговом окне выберите клиента для которого хотите сформировать qr-код для подключения:
После выбора нужного клиента будет сформирован qr-код, который нужно отсканировать мобильным клиентом WireGuard по следующей схеме:
- Перейдите в приложение и нажмите на кнопку «+» в правом нижнем углу:
- Выберете пункт «Сканировать QR-код»:
- Дайте название новому VPN-туннелю:
- Выберите новый 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 можно по кнопке ниже.