Как настроить WireGuard VPN на вашем VPS

Автор: команда ApexVPS • Обновлено: июль 2026 • 9 мин чтения

Это руководство по настройке WireGuard на VPS покажет, как создать собственный частный, быстрый и современный VPN на сервере Ubuntu или Debian. WireGuard — это легковесный VPN-протокол, встроенный в ядро Linux, поэтому он значительно проще OpenVPN или IPsec, сохраняя при этом надежную современную криптографию. В итоге у вас будет работающий сервер, по крайней мере один подключенный клиент и полный контроль над вашим зашифрованным туннелем — без сторонней VPN-подписки.

Запуск WireGuard на собственной машине означает, что трафик завершается на оборудовании, которое вы арендуете, а не на перегруженной публичной VPN-точке. Если вы хотите глубже понять, почему частный сервер — лучшая основа для этого, прочитайте наше руководство о выборе VPS для личного VPN перед началом.

Что вам понадобится перед началом

Стабильный и немаскированный канал важен для VPN, поэтому настоящие выделенные ресурсы лучше перепроданного общего хостинга. Выделенный IPv4 доступен на тарифах ApexVPS Business и Enterprise, что дает вашему туннелю адрес, не разделяемый ни с кем другим.

Шаг 1: Обновите систему и установите WireGuard

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

sudo apt update
sudo apt install wireguard -y

Эта команда устанавливает wg и wg-quick, две утилиты для управления ключами, интерфейсами и конфигурацией. Вы можете подтвердить установку с помощью wg --version.

Шаг 2: Сгенерируйте ключи сервера

WireGuard аутентифицирует пиров с помощью пары ключей, как SSH. Перейдите в каталог конфигурации, ужесточите права доступа к файлу с помощью umask и сгенерируйте ключи одной командой.

cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key

Строка umask 077 гарантирует, что приватный ключ доступен только root. Выведите оба значения, чтобы вставить их в конфигурацию ниже.

sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

Храните приватный ключ в секрете. Тот, кто им завладеет, сможет выдавать себя за ваш сервер.

Шаг 3: Создайте конфигурацию сервера (wg0.conf)

Интерфейс сервера описан в одном файле: /etc/wireguard/wg0.conf. Создайте его в любом редакторе:

sudo nano /etc/wireguard/wg0.conf

Вставьте блок ниже, заменив <SERVER_PRIVATE_KEY> на приватный ключ из шага 2 и eth0 на ваше реальное имя интерфейса, если оно отличается.

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Здесь 10.8.0.1/24 — приватная VPN-подсеть, 51820/udp — порт прослушивания, а правила PostUp/PostDown добавляют и удаляют NAT, чтобы трафик клиентов маскировался под исходящий трафик сервера. Чтобы узнать имя вашего интерфейса, выполните:

ip route list default

Слово после dev в выводе (часто eth0, ens3 или enp1s0) — это интерфейс, который нужно использовать в двух строках файрвола выше.

Шаг 4: Включите IP-пересылку и NAT

По умолчанию Linux не маршрутизирует пакеты между интерфейсами, поэтому ядру нужно явно разрешить пересылку. Включите ее постоянно с помощью drop-in файла sysctl.

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf

Если вы также маршрутизируете IPv6 через туннель, добавьте net.ipv6.conf.all.forwarding = 1 в тот же файл. Правило MASQUERADE из шага 3 уже настраивает NAT, так что после включения пересылки маршрут завершен.

Откройте порт файрвола

Разрешите UDP-порт WireGuard. Если вы используете ufw, выполните следующее и не забудьте оставить SSH открытым, чтобы не потерять доступ.

sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable

Если вы управляете правилами напрямую через iptables вместо ufw, строки PostUp уже добавляют правила пересылки и NAT; вам нужно лишь убедиться, что входящий UDP 51820 разрешен на файрволе хоста или в группе безопасности провайдера.

Шаг 5: Запустите WireGuard с помощью systemd

wg-quick поставляется с шаблоном службы systemd, поэтому вы можете запустить туннель сейчас и настроить автозапуск после перезагрузки.

sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0

Флаг enable --now запускает интерфейс и задает автозапуск при загрузке. Быстрая проверка подтверждает, что интерфейс активен:

sudo wg show

Вы должны увидеть интерфейс wg0 с вашим публичным ключом и портом прослушивания. Пиров пока нет — это следующий шаг.

Шаг 6: Добавьте клиента (пира)

Каждое устройство, которое подключается, — это пир со своей парой ключей. Сгенерируйте пару ключей для первого клиента:

wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key

Теперь зарегистрируйте клиента на сервере. Добавьте блок [Peer] в /etc/wireguard/wg0.conf, используя публичный ключ клиента и следующий свободный адрес в VPN-подсети.

[Peer]
PublicKey = <CLIENT1_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

Перезагрузите интерфейс, чтобы новый пир вступил в силу:

sudo systemctl restart wg-quick@wg0

Не хотите прерывать туннель? Вы можете добавить пира на лету без перезапуска:

sudo wg set wg0 peer <CLIENT1_PUBLIC_KEY> allowed-ips 10.8.0.2/32

Шаг 7: Создайте конфигурацию клиента и QR-код

На сервере соберите файл конфигурации клиента. Его загрузит устройство — ноутбук или телефон. Замените заглушки на приватный ключ клиента, публичный ключ и публичный IP сервера.

[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Настройка AllowedIPs = 0.0.0.0/0, ::/0 маршрутизирует весь трафик клиента через туннель — классическое поведение полного VPN. PersistentKeepalive = 25 поддерживает соединение через NAT и файрволы. Сохраните файл как client1.conf.

Для десктопа скопируйте client1.conf на машину и импортируйте в официальный клиент WireGuard. Для телефона отобразите файл как QR-код для сканирования прямо в терминале:

sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf

Откройте приложение WireGuard на Android или iOS, выберите "Добавить туннель", затем "Сканировать QR-код" — и туннель импортируется за секунды. Официальные приложения и клиенты доступны на wireguard.com.

Шаг 8: Проверьте туннель

Активируйте туннель на клиенте, затем подтвердите рукопожатие на сервере. Здоровое соединение показывает недавнее рукопожатие и растущие счетчики передачи данных.

sudo wg show

Найдите отметку времени latest handshake и ненулевые значения transfer у вашего пира. Наконец, проверьте на клиенте, что ваш публичный IP теперь является IP-адресом сервера:

curl ifconfig.me

Если возвращается адрес VPS, ваш трафик идет через туннель, и настройка WireGuard VPS завершена. Чтобы добавить больше устройств, повторите шаги 6 и 7 с новой парой ключей и следующим адресом в диапазоне 10.8.0.0/24.

Устранение неполадок, если соединение не устанавливается

Если wg show так и не сообщает о рукопожатии, проверьте обычные причины по порядку. Сначала убедитесь, что порт открыт: с другой машины выполните nc -uzv <SERVER_PUBLIC_IP> 51820 и проверьте, что группа безопасности или брандмауэр вашего провайдера разрешает входящий UDP 51820, а не только TCP. Во-вторых, убедитесь, что пересылка IP действительно включена с помощью sysctl net.ipv4.ip_forward — она должна возвращать 1. В-третьих, проверьте, что имя интерфейса в правиле NAT PostUp совпадает с выводом ip route list default; несоответствие — самая частая причина, когда трафик аутентифицируется, но не доходит до интернета. Наконец, проверьте, что ключи не перепутаны: в конфигурации сервера хранятся закрытый ключ сервера и публичный ключ клиента, а конфигурация клиента зеркалирует эту схему. Один перепутанный ключ молча блокирует рукопожатие.

Выбор подходящего VPS для WireGuard

Сам WireGuard очень легкий — протокол почти не нагружает CPU, — так что даже начальный тариф с легкостью потянет личный VPN. На деле опыт определяет сеть: пропускная способность, задержка до вашего региона и то, является ли IP вашим личным. ApexVPS работает на по-настоящему выделенных vCPU, RAM и NVMe-хранилище в 39 локациях, с низкой задержкой в основных регионах, поэтому пропускная способность остается предсказуемой, а не проседает из-за шумных соседей.

Если вы хотите, чтобы туннель жил на стабильном, неразделяемом адресе, выделенный IPv4 включен в тарифы Business и Enterprise. А поскольку приватность часто является смыслом самостоятельного хостинга VPN, стоит отметить, как вы регистрируетесь: ApexVPS — это VPS без KYC с регистрацией только по email и оплатой только криптовалютой через OxaPay, принимающей Bitcoin, Ethereum, USDT и более 30 криптовалют — без имени, адреса, кредитной карты или банковского счета.

Часто задаваемые вопросы

Сложно ли настроить WireGuard на VPS?

Нет. WireGuard использует небольшой читаемый конфигурационный файл и несколько стандартных команд. На свежем Ubuntu или Debian VPS вы можете установить его, сгенерировать ключи, написать wg0.conf и подключить первого клиента примерно за десять-пятнадцать минут.

Нужен ли выделенный IP для WireGuard VPN?

Выделенный IP не является строго обязательным, но он дает вашему туннелю стабильную конечную точку, не разделяемую с другими клиентами. В ApexVPS выделенный IPv4 включен в тариф Business, а в Enterprise — два.

Какие версии Ubuntu и Debian поддерживают WireGuard?

WireGuard встроен в ядро Linux начиная с версии 5.6, поэтому Ubuntu 20.04 и новее, а также Debian 11 и новее включают его сразу. Вам нужно только установить пользовательские инструменты с помощью apt.

Могу ли я использовать тот же сервер на телефоне?

Да. Добавьте второго пира для телефона, сгенерируйте клиентский конфиг и отобразите его как QR-код с помощью qrencode. Официальные приложения WireGuard для Android и iOS сканируют код и мгновенно подключаются.

Могу ли я оплатить VPS без кредитной карты?

Да. Оплата ApexVPS только криптовалютой, принимаются Bitcoin, Ethereum, USDT и более 30 криптовалют. Регистрация требует только email, чтобы мы могли отправить данные для доступа — без имени, адреса и удостоверения личности.

Готовы разместить собственный VPN? Узнайте, почему ApexVPS создан для частных VPN →