🔒 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 на связи.