Настройка WireGuard на собственном сервере даёт выделенный IP в нужной стране, нулевое логирование трафика и полный контроль над конфигурацией. WireGuard обслуживает туннель: шифрование ChaCha20, обмен ключами Curve25519, 4 000 строк кода (у OpenVPN — больше 100 000), встроен в ядро Linux начиная с версии 5.6. В тестах пропускной способности стабильно обгоняет OpenVPN в 2-3 раза на том же железе.
Будем использовать wg-easy — Docker-образ, который объединяет WireGuard VPN сервер с веб-панелью администратора. Добавляете клиентов, скачиваете конфиги и сканируете QR-коды прямо из браузера.
Если VPS с Ubuntu и SSH-доступом уже есть — переходите сразу к шагу 3.
Зайдите на is*hosting и закажите VPS Lite:
Локация вашего WireGuard VPS определяет выходной IP. Хотите выглядеть как немецкий пользователь — выбирайте Германию. Нужен американский IP — выбирайте США. У is*hosting 40+ локаций на 6 континентах.
VPS с 1 ГБ RAM выдержит 10-15 одновременных WireGuard-подключений. Узким местом при этом становится пропускная способность — тариф Lite включает порт 1 Gbps и 2 ТБ трафика в месяц.
После оплаты на почту придут IP-адрес и root-пароль. Сохраните оба.
Разверните собственный WireGuard VPN на KVM VPS с выделенным IP и портом 1 Гбит/с — в 40+ локациях по миру.
Mac: откройте Terminal (Cmd+Space → «Terminal» → Enter).
Windows: скачайте Tabby или используйте PowerShell.
ssh root@ВАШ_IP_АДРЕС
Введите пароль. Символы при вводе не отображаются — это нормально. Когда увидите root@server:~# — вы внутри.
На свежем Ubuntu-сервере начните с обновления пакетного индекса:
apt update
curl -fsSL https://get.docker.com | bash
Подождите 1-2 минуты.
wg-easy требует bcrypt-хэш пароля для веб-панели. Генерируем:
docker run -it ghcr.io/wg-easy/wg-easy wgpw 'ВАШ_ПАРОЛЬ'
Замените ВАШ_ПАРОЛЬ на реальный пароль. Вывод будет выглядеть так:
$2a$12$abcdef123456...
Скопируйте хэш целиком — он нужен на следующем шаге.
Здесь находится конфигурация 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
Ваша настройка WireGuard VPN запущена, теперь добавляем клиентские устройства через веб-панель.
Откройте в браузере:
http://ВАШ_IP_VPS:51821
Введите пароль из шага 4 (оригинальный текстовый — хэш используется только в конфиге), логин — admin.
Нажмите + New для создания клиента. Дайте имя (например, «MacBook», «iPhone»). Панель сгенерирует конфиг-файл и QR-код.
Телефоны (iOS/Android):
Mac/Windows/Linux:
Проверьте 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.
Веб-панель на порту 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-адрес.
Держите WireGuard VPN сервер в актуальном состоянии — обновляйте образ:
cd /root/wg-easy
docker compose pull
docker compose up -d
Новые версии иногда меняют формат PASSWORD_HASH. Если после обновления веб-панель не принимает пароль, то пересгенерируйте хэш командой из шага 4 и обновите compose-файл.
Всё описанное выше даёт рабочую настройку WireGuard. Но стандартный трафик WireGuard определяется системами глубокой инспекции пакетов (DPI) за миллисекунды с первого handshake.
Этот раздел актуален, если вы используете VPN в стране с активной фильтрацией трафика: Россия, Китай, Иран, ОАЭ, Туркменистан. Если вы на обычном провайдере в Европе или США, то базовая настройка выше работает, можно переходить к «Итогам».
У WireGuard три сигнатуры, которые ловит DPI:
GFW Китая и ТСПУ России (развёрнута на всех крупных провайдерах с 2024 года) используют все три сигнала вместе. Одни провайдеры блокируют WireGuard полностью, другие — режут скорость до единиц Кбит/с.
AmneziaWG, разработанный командой Amnezia VPN, модифицирует 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 на собственном сервере.
wg-obfuscator работает как прокси между клиентом и сервером WireGuard, трансформируя пакеты в пути:
STUN-маскировка работает, потому что системы фильтрации обычно вайтлистят STUN/TURN-трафик, чтобы не сломать видеозвонки. Государственные системы, проводящие поведенческий анализ в длинных временных окнах, всё равно могут выявить паттерн.
wg-obfuscator добавляет реальную обфускацию, но настройка на стороне клиента требует запуска отдельного бинарника на каждом устройстве, ручного редактирования конфигов WireGuard и управления процессом обфускатора параллельно с VPN-подключением. На iOS не работает совсем. Если нужна многоустройственная обфускация с минимальными трудозатратами — AmneziaWG через приложение Amnezia VPN (вариант A1) закрывает всё в одном приложении на всех платформах.
Обфускатор запускается на обеих сторонах соединения — на сервере и на каждом клиентском устройстве.
Серверная сторона. Самый простой путь: замените 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. Закрыли терминал — потеряли слой обфускации.
Клиентская сторона (Android). Есть отдельное приложение: wg-obfuscator-android. Скачайте APK из репозитория, установите, введите ключ обфускации и адрес сервера. Приложение проксирует трафик стандартного клиента WireGuard через обфускатор.
Клиентская сторона (iOS). iOS-клиента для wg-obfuscator по состоянию на июнь 2026 года не существует. Если нужна обфускация на iPhone — используйте AmneziaWG (вариант A1) или VLESS+Reality (вариант Б1).
В странах с агрессивным DPI (Китай, Россия, Иран) WireGuard с обфускацией всё равно может блокироваться в особенно напряженные периоды.
Эти протоколы генерируют трафик, неотличимый от обычного HTTPS-браузинга:
VLESS + Reality оборачивает туннель в TLS 1.3-соединение, зеркалирующее легитимный сайт (например, google.com). DPI-система видит всё как обычный HTTPS, потому что параметры TLS-handshake совпадают с реальным сайтом.
Компромисс: более сложная настройка (30-45 минут). Работает через TCP/TLS, поэтому пропускная способность и задержки хуже, чем у чистого UDP WireGuard. В реальных тестах обычно медленнее на 30-50%.
Зрелый антицензурный протокол, шифрующий трафик и убирающий все протокольные сигнатуры:
Приложение 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 мин |
В is*hosting можно выбрать из 40+ локаций. Смотрите их при заказе VPS для VPN.
Добавьте до 64 IPv6-адресов бесплатно и расширяйте локации своих VPS, когда потребуется.
10-15 одновременных подключений. Узкое место — пропускная способность, не CPU и не RAM.
Да. WireGuard встроен в ядро Linux, а у wg-easy есть мульти-архитектурные образы.
Kill switch блокирует весь трафик при обрыве VPN, чтобы реальный IP никогда не утёк. WireGuard-клиенты умеют это нативно: на iOS и Android включите «On-Demand» в настройках приложения WireGuard.