Как установить и использовать WireGuard

🔒 LikeVPS × WireGuard

WireGuard на VPS:
свой VPN-сервер с нуля

Быстрый и безопасный VPN, который поднимается за 15 минут — даже без опыта администрирования.

WireGuard на VPS — это твой личный VPN-сервер: быстрый, безопасный и поднимается за 15 минут даже без опыта. WireGuard — современный VPN-протокол, который обходит большинство альтернатив по скорости и простоте. В этой инструкции поднимем свой VPN с нуля на сервере с Ubuntu/Debian и подключим к нему клиента с Windows, macOS, Android или iOS. Все шаги расписаны подробно — дополнительный опыт не нужен.


⚡ Почему WireGuard

  • Максимальная скорость. Протокол работает на уровне ядра и использует современные алгоритмы (Curve25519, ChaCha20, Poly1305) — соединение быстрее, чем у большинства альтернатив.
  • Минимализм. Кодовая база в десятки раз меньше, чем у конкурентов, что снижает вероятность ошибок и дыр в безопасности.
  • Кроссплатформенность. Клиенты есть почти для всех систем — Linux, Windows, macOS, Android, iOS.
  • Гибкая настройка. Схема peer-to-peer позволяет легко подключать новых пользователей и управлять ключами и маршрутами.

Краткое сравнение протоколов

Протокол Основные преимущества Популярное применение
WireGuard Быстрое и безопасное соединение, простая настройка, экономия ресурсов Персональные и корпоративные соединения, мобильные приложения
OpenVPN Проверенная временем архитектура, мощная совместимость Старые системы, сложные конфигурации, устаревшие ОС
Shadowsocks Лёгкие прокси, гибкое тестирование (особенно для API) Мобильный трафик, интеграция в сервисы, тестирование

🤝 Нужен сервер под VPN?

Возьми VPS с Ubuntu — а если застрянешь на настройке, поддержка LikeVPS поможет бесплатно.

🛠️ Как установить WireGuard на VPS: пошагово

Шаг 1 — Аренда VPS

Оформи VPS с минимальной конфигурацией от 2 ГБ ОЗУ (подойдёт тариф Lite++) и выбери ОС Ubuntu 24.04.

Шаг 2 — Установка WireGuard на сервер

Открой терминал (или подключись по SSH) и выполни:

sudo apt update && sudo apt install wireguard -y

Шаг 3 — Генерация ключей для сервера

WireGuard использует пару ключей: приватный (секретный) и публичный (общедоступный). Генерируем сразу в нужной директории:

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

Здесь server_private.key — приватный ключ сервера, server_public.key — публичный. Посмотри и сохрани оба значения, они понадобятся дальше:

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

Каждая команда выведет длинную строку вида mNb3K8jQpL2xRvYt6wZ... — скопируй оба значения в текстовый файл.

Шаг 4 — Включение IP-forwarding

Без этого шага клиенты не смогут выходить в интернет через сервер. Включаем маршрутизацию пакетов:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p

Шаг 5 — Создание конфигурации сервера

Сначала определи имя сетевого интерфейса:

ip a

Найди интерфейс с внешним IP сервера — обычно это eth0, ens3 или ens18, запомни его. Создай файл конфигурации:

sudo nano /etc/wireguard/wg0.conf

Перед вставкой получи приватный ключ сервера:

cat /etc/wireguard/server_private.key

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

[Interface]
Address = 10.10.0.1/24
PrivateKey = <Приватный ключ сервера>
ListenPort = 51820
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

Address — локальный адрес сервера в сети WireGuard. PostUp / PostDown — правила NAT, которые позволяют клиентам выходить в интернет через сервер; без них VPN работает только как туннель между устройствами, но не как шлюз. Сохрани файл: Ctrl+O → Enter → Ctrl+X.

Шаг 6 — Открытие порта для WireGuard

Разреши трафик на порт 51820/UDP в фаерволе:

sudo ufw allow 51820/udp

Или, если используешь iptables:

sudo iptables -A INPUT -p udp --dport 51820 -j ACCEPT

Шаг 7 — Запуск WireGuard

sudo systemctl enable --now wg-quick@wg0

Проверь статус:

sudo wg show

Шаг 8 — Генерация ключей для клиента

На сервере:

wg genkey | tee /etc/wireguard/client_private.key | wg pubkey > /etc/wireguard/client_public.key

Здесь client_private.key — приватный ключ клиента, client_public.key — публичный. Посмотри и сохрани оба значения:

cat /etc/wireguard/client_private.key
cat /etc/wireguard/client_public.key

Скопируй оба вывода в текстовый файл — они понадобятся на шагах 9 и 10.

Шаг 9 — Добавление клиента на сервер

Получи публичный ключ клиента:

cat /etc/wireguard/client_public.key

Открой конфиг сервера:

nano /etc/wireguard/wg0.conf

Добавь в конец файла блок, вставив ключ вместо <Публичный ключ клиента>:

[Peer]
PublicKey = <Публичный ключ клиента>
AllowedIPs = 10.10.0.2/32

AllowedIPs — внутренний IP клиента (для второго, третьего и т.д. клиента увеличивай: 10.10.0.3, 10.10.0.4 и т.д.). Сохрани файл (Ctrl+O → Enter → Ctrl+X) и примени изменения без перезапуска:

sudo wg addconf wg0 <(wg-quick strip wg0)

Или сделай полный перезапуск:

sudo systemctl restart wg-quick@wg0

Шаг 10 — Настройка клиента

Скачай клиент WireGuard под свою систему:

  • 🖥️ Windows: wireguard.com/install;
  • 🍎 macOS: App Store (поиск «WireGuard»);
  • 📲 Android: Google Play (WireGuard);
  • 📲 iOS: App Store (WireGuard).

Создай новый туннель и вставь шаблон ниже. Приватный ключ клиента и публичный ключ сервера возьми командами cat на сервере, а внешний IP сервера — из ip a (значение после inet на основном интерфейсе, например 194.163.173.107) и подставь в Endpoint:

[Interface]
PrivateKey = <Приватный ключ клиента>
Address = 10.10.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <Публичный ключ сервера>
Endpoint = <IP_сервера>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
  • PrivateKey — вывод cat /etc/wireguard/client_private.key на сервере;
  • PublicKey — вывод cat /etc/wireguard/server_public.key на сервере;
  • Endpoint — внешний IP VPS и порт 51820 (IP узнаёшь через ip a);
  • AllowedIPs = 0.0.0.0/0 — весь трафик клиента идёт через VPN-сервер.

Шаг 11 — Подключение клиента

  • запусти приложение WireGuard;
  • выбери или импортируй конфиг;
  • нажми «Подключить».

Шаг 12 — Проверка работоспособности

На сервере проверь подключённых клиентов:

sudo wg show

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


📁 Итоговая структура файлов и ключей

  • на сервере /etc/wireguard/wg0.conf — конфиг с приватным ключом сервера, правилами NAT и публичными ключами всех клиентов;
  • у каждого клиента — приватный ключ и личный конфиг для подключения к серверу.

💡 Полезные советы

  • приватные ключи не должны попадать в чужие руки — храни их в безопасности;
  • при ошибках проверь: открыт ли порт, верны ли IP-адреса, правильное ли имя интерфейса в PostUp/PostDown, включён ли IP-forwarding;
  • если после подключения клиента на сервере нет latest handshake — проверь, что порт 51820/UDP открыт не только в ufw, но и на уровне хостинга.

Для переноса конфига на мобильные устройства удобно использовать QR-код:

apt install qrencode -y && qrencode -t ansiutf8 < client.conf

❓ Частые вопросы

Чем WireGuard лучше OpenVPN?

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

Какой VPS нужен для WireGuard?

WireGuard очень нетребователен — хватает минимальной конфигурации от 2 ГБ ОЗУ (например, тариф Lite++). Гораздо важнее локация: бери сервер в той стране, чей IP и скорость тебе нужны для выхода в интернет.

Какой порт использует WireGuard?

По умолчанию 51820/UDP. Его нужно открыть и в фаерволе сервера (ufw или iptables), и на уровне хостинга. Если после подключения клиента нет handshake — почти всегда дело в закрытом порте.

Сколько клиентов можно подключить?

Сколько угодно. Для каждого нового устройства добавляешь в wg0.conf отдельный блок [Peer] с уникальным внутренним адресом в AllowedIPs (10.10.0.2, 10.10.0.3, 10.10.0.4 и так далее) и генерируешь ему свою пару ключей.

Как перенести конфиг на телефон?

Проще всего через QR-код: установи qrencode и выполни qrencode -t ansiutf8 < client.conf — приложение WireGuard на телефоне импортирует конфиг сканированием кода с экрана.


🔒 Подними свой VPN на WireGuard

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