⟵ Все статьи
Читать на:

Как развернуть WireGuard VPN на VPS: пошаговая инструкция

Как развернуть WireGuard VPN на VPS: пошаговая инструкция

Свой VPN на собственном сервере — это личный шифрованный канал, которым не пользуется больше никто. Он не ведёт логов, не режет скорость и стоит примерно как чашка кофе в месяц. WireGuard хорош тем, что его конфигурация умещается в десяток строк, а по скорости он заметно обгоняет OpenVPN.

Ниже — полный путь: от покупки сервера до QR-кода, который вы отсканируете телефоном. Никаких предварительных знаний, кроме умения копировать команды, не нужно — весь путь занимает минут пятнадцать.

Шаг 1. Взять сервер

VPN нужно где-то разместить, поэтому начинаем с аренды VPS. В панели NodexGo это делается так:

1. Нажмите кнопку «Создать сервер».

2. Выберите локацию. Рядом с каждой показан ваш реальный пинг до неё — для VPN это главный параметр: чем ниже пинг, тем незаметнее туннель. Обычно берут страну, через которую хотят выходить в интернет.

3. Выберите тариф и образ системы. Для WireGuard хватает самого младшего тарифа: 1 vCPU и 2 ГБ памяти держат несколько десятков устройств. Образ — Ubuntu 24.04, все команды ниже написаны под неё.

4. Задайте имя сервера — например vpn — и выберите период оплаты: 1, 3, 6 или 12 месяцев.

5. Подтвердите заказ. Примерно через минуту сервер готов: IP-адрес и пароль root придут в панель и на почту.

1 vCPU, 2 ГБ и NVMe — этого достаточно для личного VPN на всю семью.

Создать сервер

Шаг 2. Подключиться к серверу

Откройте терминал (в Windows — PowerShell) и подключитесь по SSH, подставив выданный IP. Пароль спросят при подключении — скопируйте его из панели.

ssh root@IP-адрес-сервера

Если SSH по какой-то причине не отвечает, в карточке сервера в панели есть web-консоль VNC: она работает в обход сети и SSH, и через неё всегда можно попасть в систему.

Шаг 3. Обновить систему и поставить WireGuard

Первым делом обновляем пакеты — на свежем образе это занимает полминуты.

apt update && apt upgrade -y

Ставим сам WireGuard и утилиту qrencode: она понадобится в конце, чтобы подключить телефон одним сканированием.

apt install -y wireguard qrencode

Шаг 4. Создать ключи

WireGuard не использует логины и пароли — вместо них пара ключей у сервера и у каждого устройства. Команда umask 077 нужна, чтобы файлы ключей были доступны только root.

umask 077
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
wg genkey | tee /etc/wireguard/client1.key | wg pubkey > /etc/wireguard/client1.pub

Посмотреть содержимое ключей можно так — они пригодятся при заполнении конфигов:

cat /etc/wireguard/server.key /etc/wireguard/server.pub /etc/wireguard/client1.key /etc/wireguard/client1.pub

Шаг 5. Узнать имя сетевого интерфейса

В правилах NAT нужно указать интерфейс, через который сервер выходит в интернет. Чаще всего это eth0, но лучше проверить:

ip -o -4 route show to default | awk '{print $5}'

Шаг 6. Конфигурация сервера

Создайте файл /etc/wireguard/wg0.conf. Подставьте в PrivateKey содержимое server.key, в PublicKey раздела Peer — содержимое client1.pub, а eth0 замените именем интерфейса из предыдущего шага.

nano /etc/wireguard/wg0.conf
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = ПРИВАТНЫЙ_КЛЮЧ_СЕРВЕРА
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА
AllowedIPs = 10.8.0.2/32

Сохраните файл: Ctrl+O, Enter, затем Ctrl+X.

Шаг 7. Разрешить пересылку пакетов

Без этого сервер примет ваше подключение, но не пустит трафик дальше в интернет — типичная причина «VPN подключился, а сайты не открываются».

echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system

Шаг 8. Открыть порт и запустить

Настраиваем файрвол. Важно разрешить SSH до включения ufw, иначе вы отрежете себе доступ (и придётся заходить через VNC-консоль в панели).

ufw allow OpenSSH
ufw allow 51820/udp
ufw enable

Запускаем туннель и ставим его в автозагрузку, чтобы он поднимался после перезагрузки сервера:

systemctl enable --now wg-quick@wg0

Проверяем, что интерфейс поднялся:

wg show

Шаг 9. Конфигурация клиента

Теперь создадим файл настроек для вашего устройства. В PrivateKey идёт client1.key, в PublicKey — server.pub, в Endpoint — IP вашего сервера.

nano /etc/wireguard/client1.conf
[Interface]
PrivateKey = ПРИВАТНЫЙ_КЛЮЧ_КЛИЕНТА
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА
Endpoint = IP-адрес-сервера:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Строка AllowedIPs = 0.0.0.0/0 означает «весь трафик через VPN». Если нужен доступ только к самому серверу, оставьте 10.8.0.0/24.

Шаг 10. Подключить телефон и компьютер

Для телефона установите приложение WireGuard из App Store или Google Play и покажите ему QR-код прямо из терминала:

qrencode -t ansiutf8 < /etc/wireguard/client1.conf

Наведите камеру приложения на код — профиль добавится сам. Для компьютера скачайте файл client1.conf на свою машину (команда выполняется в терминале вашего компьютера, не на сервере) и импортируйте его в клиент WireGuard для Windows или macOS:

scp root@IP-адрес-сервера:/etc/wireguard/client1.conf .

Проверьте результат: включите VPN и откройте любой сервис проверки IP — он должен показать адрес вашего сервера, а не домашний.

Как добавить ещё одно устройство

Каждому устройству нужен свой ключ и свой адрес: 10.8.0.3, затем 10.8.0.4 и так далее. Создаём ключи так же, как в шаге 4, и добавляем в конец /etc/wireguard/wg0.conf ещё один блок:

[Peer]
PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_ВТОРОГО_УСТРОЙСТВА
AllowedIPs = 10.8.0.3/32

После правки конфига перезапустите туннель:

systemctl restart wg-quick@wg0

Если что-то не работает

Подключение не устанавливается — проверьте, что порт 51820/udp открыт и что в Endpoint указан правильный IP. Помните: WireGuard работает по UDP, а не TCP.

VPN подключился, но интернета нет — почти всегда это забытый ip_forward из шага 7 или неверное имя интерфейса в правилах NAT из шага 5.

Работает медленно или обрываются большие страницы — попробуйте добавить в раздел Interface клиента строку MTU = 1420.

Совсем потеряли доступ к серверу — откройте web-консоль VNC в карточке сервера в панели. Там же есть кнопки «Сменить пароль root» и «Переустановить ОС», если проще начать заново: переустановка занимает пару минут, а эта инструкция повторяется за пятнадцать.

Какой сервер нужен под VPN

WireGuard почти не нагружает процессор: младшего тарифа с 1 vCPU и 2 ГБ памяти хватает для семьи или небольшой команды. Упереться можно разве что в трафик, поэтому смотрите на его лимит в тарифе, а не на количество ядер.

Если устройств станет больше или захочется гонять через туннель тяжёлый трафик, в карточке сервера есть кнопка «Увеличить мощности»: тариф меняется на старший, диск и IP-адрес при этом сохраняются, настраивать WireGuard заново не нужно.

Локации в Европе, оплата за 1, 3, 6 или 12 месяцев, сервер готов через минуту.

Посмотреть тарифы

Мы используем файлы cookie: необходимые — для входа в аккаунт и языка интерфейса, аналитические — чтобы понимать, какими страницами пользуются. Сторонних рекламных систем у нас нет. Подробнее