Всем привет! Если вы когда-нибудь хотели поднять свой собственный VPN-сервер (чтобы не доверять свои данные непонятно кому, не платить за подписки и не ловить throttling от публичных сервисов) — вы попали по адресу. Сегодня разберёмся с WireGuard — современным, быстрым и реально простым в настройке VPN. Это не OpenVPN с его километрами конфигов и странными багами. Всё будет быстро, просто и понятно.
Возможности WireGuard
- Минималистичный и быстрый — реально быстрее OpenVPN и IPSec.
- Очень простой конфиг: пара строчек — и всё работает.
- Встроенная криптография на уровне ядра Linux (или через модуль).
- Работает практически везде: Linux, Windows, macOS, Android, iOS.
- Поддержка роутинга трафика, split tunneling, и даже mesh-сетей.
Что требуется
- VPS или домашний сервер — любой Linux-дистрибутив. Я покажу на Ubuntu 22.04 LTS, но на Debian и CentOS всё аналогично.
- Минимум 1 CPU, 512MB RAM, 10GB SSD (WireGuard почти ничего не жрёт).
- Публичный IP-адрес (или проброс портов, если за NAT-ом).
- Доступ по SSH и базовые навыки работы с консолью.
Установка — пошаговая инструкция
- Обновляем систему:
sudo apt update && sudo apt upgrade -y
- Ставим WireGuard:
sudo apt install wireguard -y
На других дистрибутивах — официальная дока.
- Генерируем ключи для сервера:
umask 077 wg genkey | tee server_private.key | wg pubkey > server_public.key
Точно так же генерируем ключи для каждого клиента (на другой машине или локально):
wg genkey | tee client_private.key | wg pubkey > client_public.key
- Создаём конфиг для сервера:
sudo nano /etc/wireguard/wg0.conf
Вставляем:
[Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = (содержимое server_private.key) # Разрешаем форвардинг PostUp = sysctl -w net.ipv4.ip_forward=1; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = sysctl -w net.ipv4.ip_forward=0; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = (client_public.key) AllowedIPs = 10.0.0.2/32
- eth0 — интерфейс вашего сервера (узнайте через
ip a
). - AllowedIPs — IP клиента в VPN-сети.
- eth0 — интерфейс вашего сервера (узнайте через
- Открываем порт на фаерволе:
sudo ufw allow 51820/udp
- Запускаем сервер:
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
Проверяем:
sudo wg show
- Конфиг для клиента:
[Interface] PrivateKey = (client_private.key) Address = 10.0.0.2/24 DNS = 1.1.1.1 [Peer] PublicKey = (server_public.key) Endpoint = your.server.ip:51820 AllowedIPs = 0.0.0.0/0, ::/0 PersistentKeepalive = 25
Можно использовать официальные клиенты под любые ОС.
Использование: команды и варианты
- Запуск/остановка:
sudo systemctl start wg-quick@wg0 sudo systemctl stop wg-quick@wg0 sudo systemctl restart wg-quick@wg0
- Статус:
sudo systemctl status wg-quick@wg0
- Показать подключённых клиентов:
sudo wg show
- Добавить нового клиента (peer):
# Генерируете ключи, добавляете блок [Peer] PublicKey = (новый client_public.key) AllowedIPs = 10.0.0.3/32
Перезапускаете WireGuard:
sudo systemctl restart wg-quick@wg0
- Проверить логи:
journalctl -u wg-quick@wg0
Ошибки и как делать не надо
- Не храните приватные ключи в публичных репах или на сервере без прав доступа! (chmod 600)
- Не используйте одинаковые ключи для разных клиентов.
- Не забывайте открывать UDP-порт на фаерволе и в панелях хостинга.
- Пользуйтесь только официальными клиентами — не ставьте левый софт.
- Не добавляйте в
AllowedIPs = 0.0.0.0/0
на сервере — это сломает маршрутизацию. - Проверьте, что у вас не конфликтуют подсети (10.0.0.0/24 не должен совпадать с локалкой дома).
Пример реального использования
Реальный кейс: поднял WireGuard на DigitalOcean VPS, подключил рабочий ноутбук и телефон. Теперь весь трафик в публичных Wi-Fi идёт через мой сервер, плюс доступ к домашней NAS-ке через туннель. На сервере прописал несколько [Peer]
блоков для разных устройств. В любой момент вижу, кто подключён, какой трафик гоняет. Настроил split tunneling — чтобы только рабочие сервисы шли через VPN, а остальное — напрямую.
Заключение
WireGuard — это реально лучшее, что случалось с VPN за последние годы. Он простой, быстрый, безопасный и почти не требует танцев с бубном. Официальная дока — https://www.wireguard.com/. Если есть вопросы или хочется автоматизации — смотрите скрипт для автоматической установки (open source, не реклама). Не забывайте обновлять систему и не светите приватные ключи. Надеюсь, теперь ваш VPN будет именно вашим!
Ваш отзыв