Инструкции

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

Поднимите WireGuard VPN сервер на Ubuntu за 15 минут. wg-easy, Docker, веб-панель, QR-коды. Работает на VPS в 40+ локациях — выбирайте юрисдикцию под себя.

Александра И. 8 июл 2026 7 мин
Как настроить WireGuard VPN сервер на VPS за 15 минут
Содержание

Настройка WireGuard на собственном сервере даёт выделенный IP в нужной стране, нулевое логирование трафика и полный контроль над конфигурацией. WireGuard обслуживает туннель: шифрование ChaCha20, обмен ключами Curve25519, 4 000 строк кода (у OpenVPN — больше 100 000), встроен в ядро Linux начиная с версии 5.6. В тестах пропускной способности стабильно обгоняет OpenVPN в 2-3 раза на том же железе.

Будем использовать wg-easy — Docker-образ, который объединяет WireGuard VPN сервер с веб-панелью администратора. Добавляете клиентов, скачиваете конфиги и сканируете QR-коды прямо из браузера.

Что понадобится для настройки WireGuard

  • VPS is*hosting с Ubuntu 22.04 или 24 — этот гайд по WireGuard Ubuntu 22.04 работает на обеих версиях
  • Компьютер или телефон для подключения
  • Около 15 минут

Если VPS с Ubuntu и SSH-доступом уже есть — переходите сразу к шагу 3.

Шаг 1. Заказать VPS

Зайдите на is*hosting и закажите VPS Lite:

  • CPU: 1 vCPU
  • RAM: 1 ГБ
  • Диск: 20 ГБ NVMe
  • ОС: Ubuntu 24
  • Локация: страна, IP которой вам нужен
  • Цена: $6.99/мес (или $5.94/мес при оплате на год).

Локация вашего WireGuard VPS определяет выходной IP. Хотите выглядеть как немецкий пользователь — выбирайте Германию. Нужен американский IP — выбирайте США. У is*hosting 40+ локаций на 6 континентах.

VPS с 1 ГБ RAM выдержит 10-15 одновременных WireGuard-подключений. Узким местом при этом становится пропускная способность — тариф Lite включает порт 1 Gbps и 2 ТБ трафика в месяц.

После оплаты на почту придут IP-адрес и root-пароль. Сохраните оба.

VPS

Разверните собственный WireGuard VPN на KVM VPS с выделенным IP и портом 1 Гбит/с — в 40+ локациях по миру.

Выбрать VPS

Шаг 2. Подключиться к серверу по SSH

Mac: откройте Terminal (Cmd+Space → «Terminal» → Enter).

Windows: скачайте Tabby или используйте PowerShell.

ssh root@ВАШ_IP_АДРЕС

Введите пароль. Символы при вводе не отображаются — это нормально. Когда увидите root@server:~# — вы внутри.

Шаг 3. Установить Docker

На свежем Ubuntu-сервере начните с обновления пакетного индекса:

apt update
curl -fsSL https://get.docker.com | bash

Подождите 1-2 минуты.

Шаг 4. Сгенерировать пароль администратора

wg-easy требует bcrypt-хэш пароля для веб-панели. Генерируем:

docker run -it ghcr.io/wg-easy/wg-easy wgpw 'ВАШ_ПАРОЛЬ'

Замените ВАШ_ПАРОЛЬ на реальный пароль. Вывод будет выглядеть так:

$2a$12$abcdef123456...

Скопируйте хэш целиком — он нужен на следующем шаге.

Шаг 5. Настройка WireGuard сервера: создать и запустить

Здесь находится конфигурация WireGuard VPN сервера.

mkdir /root/wg-easy
nano /root/wg-easy/docker-compose.yml

Вставьте следующее. Замените два значения: WG_HOST на IP вашего VPS, PASSWORD_HASH на хэш из шага 4:

services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    environment:
      - WG_HOST=ВАШ_IP_VPS
      - PASSWORD_HASH=$$2a$$12$$ВАШ_ХЭШ
      - WG_PORT=51820
      - PORT=51821
      - WG_DEFAULT_DNS=1.1.1.1,8.8.8.8
    volumes:
      - ./config:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Каждый знак $ в хэше пароля нужно удвоить ($$) в YAML-файле. Если ваш хэш $2a$12$abc... — напишите $$2a$$12$$abc....

Сохраните: Ctrl+O → Enter → Ctrl+X.

Настройте правила файрвола WireGuard:

ufw allow 51820/udp
ufw allow 51821/tcp
ufw enable
ufw status

ufw enable включает файрвол (если ещё не включён), ufw status показывает активные правила — это и есть проверка. Если UFW уже был включён ранее по гайду — ufw enable можно пропустить и запустить только ufw status.

Запустите:

cd /root/wg-easy
docker compose up -d

Контейнер скачивается и стартует примерно за 30 секунд. Вы увидите что-то вроде:

✔ Container wg-easy  Started

Шаг 6. Добавить клиентов через веб-панель

Ваша настройка WireGuard VPN запущена, теперь добавляем клиентские устройства через веб-панель.

Откройте в браузере:

http://ВАШ_IP_VPS:51821

Введите пароль из шага 4 (оригинальный текстовый — хэш используется только в конфиге), логин — admin.

1

Нажмите + New для создания клиента. Дайте имя (например, «MacBook», «iPhone»). Панель сгенерирует конфиг-файл и QR-код.

2

Телефоны (iOS/Android):

  • Установите приложение WireGuard из App Store или Google Play
  • Нажмите «Add tunnel» → «Scan QR code»
  • Отсканируйте QR-код из веб-панели
  • Включите подключение

Mac/Windows/Linux:

  • Скачайте приложение WireGuard
  • В веб-панели нажмите иконку скачивания рядом с клиентом — получите .conf-файл
  • В приложении WireGuard нажмите «Import tunnel(s) from file» и выберите файл
  • Нажмите «Activate»

Проверьте IP на whatismyipaddress.com. Должен отображаться IP вашего VPS.

Если IP сменился, но DNS-запросы всё равно идут через провайдера — это DNS-утечка. Откройте dnsleaktest.com и запустите расширенный тест. Если в результатах DNS-серверы вашего провайдера — проверьте что в compose-файле стоит WG_DEFAULT_DNS=1.1.1.1,8.8.8.8, и перезапустите контейнер: docker compose restart.

Шаг 7. Закрыть доступ к панели администратора

Веб-панель на порту 51821 принимает подключения с любого IP, которому известен адрес. После добавления клиентов закройте её:

Вариант А: полностью заблокировать публичный доступ:

ufw delete allow 51821/tcp

Когда потребуется добавить нового клиента — подключитесь по SSH и временно откройте порт.

Вариант Б: ограничить доступ только со своего IP:

ufw delete allow 51821/tcp
ufw allow from ВАШ_ДОМАШНИЙ_IP to any port 51821 proto tcp

Замените ВАШ_ДОМАШНИЙ_IP на реальный IP-адрес.

Обновление wg-easy

Держите WireGuard VPN сервер в актуальном состоянии — обновляйте образ:

cd /root/wg-easy
docker compose pull
docker compose up -d

Новые версии иногда меняют формат PASSWORD_HASH. Если после обновления веб-панель не принимает пароль, то пересгенерируйте хэш командой из шага 4 и обновите compose-файл.

Проблема обнаружения: DPI идентифицирует WireGuard мгновенно

Проблема обнаружения: DPI идентифицирует WireGuard мгновенно

Всё описанное выше даёт рабочую настройку WireGuard. Но стандартный трафик WireGuard определяется системами глубокой инспекции пакетов (DPI) за миллисекунды с первого handshake.

Этот раздел актуален, если вы используете VPN в стране с активной фильтрацией трафика: Россия, Китай, Иран, ОАЭ, Туркменистан. Если вы на обычном провайдере в Европе или США, то базовая настройка выше работает, можно переходить к «Итогам».

Как DPI идентифицирует WireGuard

У WireGuard три сигнатуры, которые ловит DPI:

  • Фиксированные заголовки типа сообщений. Каждый пакет WireGuard начинается с 32-битного поля типа (значения 1, 2, 3 или 4). Правило DPI «UDP-пакет + значение заголовка 1-4 + предсказуемый размер» флагирует WireGuard с почти нулевым процентом ложных срабатываний.
  • Инвариантные размеры пакетов. Инициация handshake: всегда 148 байт. Ответ: всегда 92 байта. Этих двух фиксированных размеров достаточно для однозначной идентификации протокола.
  • Высокоэнтропийный payload. Зашифрованные данные WireGuard имеют максимальную энтропию (выглядят как случайные байты). DPI-системы помечают это как вероятный VPN или туннельный трафик.

GFW Китая и ТСПУ России (развёрнута на всех крупных провайдерах с 2024 года) используют все три сигнала вместе. Одни провайдеры блокируют WireGuard полностью, другие — режут скорость до единиц Кбит/с.

Вариант А: остаться на WireGuard, добавить обфускацию

A1. AmneziaWG: форк WireGuard со встроенной обфускацией

AmneziaWG, разработанный командой Amnezia VPN, модифицирует WireGuard на уровне пакетов:

  • Рандомизирует размеры пакетов (handshake больше не фиксированный 148 байт)
  • Добивает пакеты мусорными данными переменной длины
  • Отправляет decoy-пакеты перед handshake, имитирующие заголовки QUIC или STUN
  • Использует то же шифрование ChaCha20/Curve25519, что и стандартный WireGuard

Установите приложение Amnezia VPN (amnezia.org), укажите ваш VPS — оно само настроит AmneziaWG с параметрами обфускации для вашего региона.

Обходит DPI большинства провайдеров и часть государственных систем. В периоды агрессивной блокировки (например, когда GFW Китая ужесточает фильтрацию вокруг политических событий) продвинутые DPI-системы могут всё равно флагировать высокоэнтропийный UDP-трафик независимо от рандомизации размеров.

Статус на июнь 2026: в начале июня 2026 года управляемые сервисы Amnezia Free и Amnezia Premium несколько дней не работали после DDoS-атаки на инфраструктуру проекта. Пострадали пользователи, подключавшиеся через серверы Amnezia.

Пользователи, развернувшие AmneziaWG на собственном VPS, не были напрямую затронуты атакой, однако сам протокол AmneziaWG частично детектируется провайдерами с конца 2025 года (по данным команды Amnezia, блокировки затрагивают около 10% подключений). Управляемые VPN-сервисы в целом остаются мишенью для инфраструктурных блокировок — это одна из причин разворачивать VPN на собственном сервере.

A2. wg-obfuscator: прокси-слой для стандартного WireGuard

wg-obfuscator работает как прокси между клиентом и сервером WireGuard, трансформируя пакеты в пути:

  • Рандомизирует размеры handshake
  • Маскирует трафик под протокол STUN (используется видеоконференциями и редко блокируется)
  • Работает со стандартным клиентом WireGuard — форк не нужен
  • Нулевые внешние зависимости

STUN-маскировка работает, потому что системы фильтрации обычно вайтлистят STUN/TURN-трафик, чтобы не сломать видеозвонки. Государственные системы, проводящие поведенческий анализ в длинных временных окнах, всё равно могут выявить паттерн.

wg-obfuscator добавляет реальную обфускацию, но настройка на стороне клиента требует запуска отдельного бинарника на каждом устройстве, ручного редактирования конфигов WireGuard и управления процессом обфускатора параллельно с VPN-подключением. На iOS не работает совсем. Если нужна многоустройственная обфускация с минимальными трудозатратами — AmneziaWG через приложение Amnezia VPN (вариант A1) закрывает всё в одном приложении на всех платформах.

Как настроить wg-obfuscator

Обфускатор запускается на обеих сторонах соединения — на сервере и на каждом клиентском устройстве.

Серверная сторона. Самый простой путь: замените wg-easy на wg-obfuscator-easy — Docker-контейнер, объединяющий WireGuard + обфускатор + веб-панель в одном образе.

mkdir /root/wg-obf
nano /root/wg-obf/docker-compose.yml

Вставьте в yaml-файл:

services:
  wg-obf-easy:
    image: clustermeerkat/wg-obf-easy:latest
    container_name: wg-obf-easy
    environment:
      - EXTERNAL_IP=ВАШ_IP_VPS
      - EXTERNAL_PORT=57159
      - ADMIN_PASSWORD=ВАШ_ПАРОЛЬ
    volumes:
      - ./config:/config
      - /etc/timezone:/etc/timezone:ro
    ports:
      - "57159:57159/udp"
      - "5000:5000/tcp"
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Настройте порты:

ufw allow 57159/udp
ufw allow 5000/tcp
cd /root/wg-obf && docker compose up -d

Веб-панель доступна по адресу: http://ВАШ_IP_VPS:5000 (логин: admin, пароль: тот, что указали в ADMIN_PASSWORD). Создайте клиента и скачайте его .conf-файл. Найдите ключ обфускации:

cat /root/wg-obf/config/obfuscator.conf

Скопируйте значение ключа из вывода.

Клиентская сторона (Mac/Windows/Linux). Скачайте бинарник wg-obfuscator для вашей ОС из GitHub. На Mac с Apple Silicon — wg-obfuscator-macos-arm64. На Intel Mac или Linux — соответствующий бинарник.

Дайте права на выполнение и запустите:

chmod +x ~/Downloads/wg-obfuscator-macos-arm64
~/Downloads/wg-obfuscator-macos-arm64 -c -k ВАШ_КЛЮЧ -t ВАШ_IP_VPS:57159 -l 127.0.0.1:51820

Это запустит локальный прокси на 127.0.0.1:51820. Отредактируйте .conf-файл: измените строку Endpoint на 127.0.0.1:51820. Импортируйте изменённый конфиг в приложение WireGuard и подключитесь.

Процесс обфускатора должен работать в окне терминала пока вы используете VPN. Закрыли терминал — потеряли слой обфускации.

4

Клиентская сторона (Android). Есть отдельное приложение: wg-obfuscator-android. Скачайте APK из репозитория, установите, введите ключ обфускации и адрес сервера. Приложение проксирует трафик стандартного клиента WireGuard через обфускатор.

Клиентская сторона (iOS). iOS-клиента для wg-obfuscator по состоянию на июнь 2026 года не существует. Если нужна обфускация на iPhone — используйте AmneziaWG (вариант A1) или VLESS+Reality (вариант Б1).

Вариант Б: протоколы, разработанные для обхода DPI

В странах с агрессивным DPI (Китай, Россия, Иран) WireGuard с обфускацией всё равно может блокироваться в особенно напряженные периоды.

Эти протоколы генерируют трафик, неотличимый от обычного HTTPS-браузинга:

Б1. VLESS + Reality (через Xray / 3X-UI)

VLESS + Reality оборачивает туннель в TLS 1.3-соединение, зеркалирующее легитимный сайт (например, google.com). DPI-система видит всё как обычный HTTPS, потому что параметры TLS-handshake совпадают с реальным сайтом.

  • Устанавливается через 3X-UI на вашем VPS
  • Поддерживает несколько пользователей, статистику трафика, даты истечения
  • Клиенты: v2rayNG (Android), Streisand/V2Box (iOS), v2rayN (Windows), Nekoray (Linux/Mac)
  • В правильно настроенном состоянии не обнаруживается DPI

Компромисс: более сложная настройка (30-45 минут). Работает через TCP/TLS, поэтому пропускная способность и задержки хуже, чем у чистого UDP WireGuard. В реальных тестах обычно медленнее на 30-50%.

Б2. Shadowsocks-Rust

Зрелый антицензурный протокол, шифрующий трафик и убирающий все протокольные сигнатуры:

  • Проще в настройке, чем VLESS/Reality
  • Поддерживает UDP relay для меньших задержек
  • Клиенты есть для всех платформ
  • Хуже противостоит GFW Китая, чем VLESS+Reality (GFW умеет обнаруживать некоторые паттерны Shadowsocks через активное зондирование)

Б3. Amnezia VPN (полный набор)

Приложение Amnezia VPN автоматически определяет, какой протокол работает в вашем регионе. Укажите ваш VPS — оно само развернёт AmneziaWG, OpenVPN+Cloak или Shadowsocks в зависимости от того, что проходит через ваш местный DPI.

Сравнение

Протокол

Пропускная способность

Устойчивость к DPI

Время настройки

WireGuard (стандартный)

~900 Мбит/с на 1G-линке

Нулевая: обнаруживается мгновенно

15 мин

AmneziaWG

~800 Мбит/с

Обходит DPI большинства провайдеров

20 мин

wg-obfuscator + WireGuard

~850 Мбит/с

Обходит DPI провайдеров, STUN-маскировка

30 мин

VLESS + Reality

~400–600 Мбит/с

Обходит все известные DPI

45 мин

Shadowsocks-Rust

~700 Мбит/с

Обходит большинство DPI

25 мин

Amnezia VPN (авто)

Зависит от протокола

Адаптируется к региону

15 мин

Рекомендации по странам

  • ЕС / США / обычные провайдеры: стандартный WireGuard. Обфускация добавляет сложность без пользы.
  • Россия (ТСПУ): AmneziaWG или Amnezia VPN с Cloak/Shadowsocks. Стандартный WireGuard без обфускации режется или блокируется.
  • Китай / Иран: VLESS + Reality. Другие протоколы периодически не работают в периоды блокировок.
  • ОАЭ / Турция: AmneziaWG или Shadowsocks. Достаточно против DPI, развёрнутого в этих регионах.

В is*hosting можно выбрать из 40+ локаций. Смотрите их при заказе VPS для VPN.

Масштабируйтесь в любой момент

Добавьте до 64 IPv6-адресов бесплатно и расширяйте локации своих VPS, когда потребуется.

Смотреть локации

FAQ

Сколько клиентов выдержит Lite VPS?

10-15 одновременных подключений. Узкое место — пропускная способность, не CPU и не RAM.

Работает ли это на ARM VPS?

Да. WireGuard встроен в ядро Linux, а у wg-easy есть мульти-архитектурные образы.

Что такое kill switch и нужен ли он?

Kill switch блокирует весь трафик при обрыве VPN, чтобы реальный IP никогда не утёк. WireGuard-клиенты умеют это нативно: на iOS и Android включите «On-Demand» в настройках приложения WireGuard.

VPS в 40+ локациях

Выберите несколько VPS в разных локациях и управляйте ими через один аккаунт.

От $5.94/месяц