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

    Команда Simple-Server
    11.03.2026
    14 мин

    Введение

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

    В этом руководстве мы настроим собственный VPN-сервер WireGuard на VPS с Ubuntu.

    Почему WireGuard?

    КритерийWireGuardOpenVPNIPSec
    Скорость⚡ Очень высокаяСредняяСредняя
    Простота настройки✅ Простая❌ Сложная❌ Сложная
    Размер кода~4 000 строк~100 000 строкОгромный
    ШифрованиеChaCha20, Curve25519OpenSSLРазличное
    Поддержка ОСВсе платформыВсе платформыОграниченная

    Установка WireGuard на сервере

    Обновление системы

    sudo apt update && sudo apt upgrade -y

    Установка WireGuard

    sudo apt install wireguard -y

    Генерация ключей сервера

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

    Просмотрите сгенерированные ключи:

    cat server_private.key cat server_public.key

    ⚠️ Важно: Приватный ключ сервера должен храниться в секрете!

    Настройка сервера WireGuard

    На Ubuntu 22.04 сетевой интерфейс редко называется eth0 — чаще это ens18, enp6s18 и т.п. Если в PostUp/PostDown указать неверное имя, wg-quick не поднимет туннель.

    Сначала узнайте имя интерфейса с маршрутом по умолчанию:

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

    Создайте конфигурационный файл одной командой (подставит интерфейс и приватный ключ автоматически):

    IFACE=$(ip -4 route show default | awk '{print $5}') PRIV=$(cat /etc/wireguard/server_private.key) sudo tee /etc/wireguard/wg0.conf << EOF [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = ${PRIV} PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ${IFACE} -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ${IFACE} -j MASQUERADE EOF

    Пример: если ip -4 route show default показывает ens18, в конфиге будет -o ens18. Не копируйте eth0 вслепую.

    Включение IP-форвардинга

    echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

    Открытие порта в брандмауэре

    sudo ufw allow 51820/udp

    Запуск WireGuard

    sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0

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

    sudo wg show

    Настройка клиента

    Генерация ключей клиента

    На сервере выполните:

    cd /etc/wireguard wg genkey | tee client1_private.key | wg pubkey > client1_public.key

    Добавление клиента в конфигурацию сервера

    Добавьте в /etc/wireguard/wg0.conf:

    [Peer] PublicKey = <client1_public_key> AllowedIPs = 10.0.0.2/32

    Замените <client1_public_key> на содержимое файла client1_public.key (команда cat /etc/wireguard/client1_public.key). Без реального ключа wg-quick не запустится.

    Перезапустите WireGuard:

    sudo systemctl restart wg-quick@wg0

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

    Создайте файл client1.conf:

    [Interface] PrivateKey = <client1_private_key> Address = 10.0.0.2/24 DNS = 1.1.1.1, 8.8.8.8 [Peer] PublicKey = <server_public_key> Endpoint = YOUR_SERVER_IP:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25

    Подключение клиентов

    Windows и macOS

    1. Скачайте приложение WireGuard с официального сайта
    2. Импортируйте файл client1.conf
    3. Нажмите Activate для подключения

    Android и iOS

    1. Установите приложение WireGuard из Google Play / App Store
    2. Отсканируйте QR-код конфигурации или импортируйте файл

    Для генерации QR-кода на сервере:

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

    Linux

    sudo apt install wireguard -y sudo cp client1.conf /etc/wireguard/wg0.conf sudo wg-quick up wg0

    Добавление нескольких клиентов

    Для каждого нового клиента:

    # Генерация ключей wg genkey | tee client2_private.key | wg pubkey > client2_public.key # Добавление в конфигурацию сервера sudo nano /etc/wireguard/wg0.conf # Добавьте новый блок [Peer] с IP 10.0.0.3/32 # Перезапуск sudo systemctl restart wg-quick@wg0

    Проверка работы VPN

    После подключения проверьте:

    # На клиенте — проверка IP curl ifconfig.me # На сервере — статистика sudo wg show

    Заключение

    Собственный VPN-сервер на WireGuard — это быстрое, безопасное и полностью подконтрольное решение. В отличие от коммерческих VPN-сервисов, вы сами контролируете свои данные и не зависите от сторонних провайдеров.

    🔐 Совет: Для VPN-сервера достаточно минимального VPS — WireGuard потребляет очень мало ресурсов. Заказать VPS для VPN →

    VPS для VPN-сервера

    Быстрый VPS для собственного VPN с низким пингом.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны