Почему AmneziaWG, а не обычный WireGuard
У WireGuard есть характерный handshake — 148 байт в первом пакете, конкретные паттерны инициации. Российские ТСПУ научились это детектировать к 2025 году. Поднимаете WireGuard на порту 51820 — блок. Меняете на 443 — работает пару недель, потом тоже блок.
AmneziaWG решает это иначе: добавляет случайные байты в начало каждого пакета (junk header), меняет размер инициирующего пакета и тайминги. Для DPI это уже не WireGuard — просто непонятный UDP-трафик. Скорость и шифрование те же.
Если нужна максимальная устойчивость к зондированию — смотрите на VLESS+REALITY. AmneziaWG проще в настройке, но REALITY теоретически надёжнее при активном DPI-анализе.
Что понадобится
- VPS с Linux за пределами России. Хватит 1 vCPU и 512 МБ RAM.
- SSH-доступ к серверу.
- 10-15 минут.
По серверу: я использую netcup —
немецкий хостинг с датацентрами в Германии и Нидерландах. Самый дешёвый VPS стоит около
€3/мес. Для новых пользователей промокод 36nc17698518190 даёт скидку 5€ при
регистрации на netcup.com. Подойдёт и Hetzner, DigitalOcean, Vultr — любой европейский VPS.
Одно требование: UDP не должен быть заблокирован хостингом. У большинства VPS-провайдеров UDP открыт, но у Oracle Free Tier бывают ограничения.
Установка сервера
Заходим по SSH. Если Docker ещё не установлен — ставим:
curl -fsSL https://get.docker.com | sh Создаём папку и переходим в неё:
mkdir -p ~/amneziawg && cd ~/amneziawg Создаём файл docker-compose.yml:
services:
amneziawg:
image: ghcr.io/amnezia-vpn/amneziawg:latest
container_name: amneziawg
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Berlin
- SERVERURL=auto
- SERVERPORT=51820
- PEERS=5
- PEERDNS=1.1.1.1
- INTERNAL_SUBNET=10.13.13.0
- AWG_JUNK_PACKET_COUNT=4
- AWG_JUNK_PACKET_MIN_SIZE=40
- AWG_JUNK_PACKET_MAX_SIZE=70
- AWG_INIT_PACKET_JUNK_SIZE=40
- AWG_RESPONSE_PACKET_JUNK_SIZE=40
volumes:
- ./config:/config
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1 Запускаем:
docker compose up -d
Параметры AWG_JUNK_* — это и есть обфускация. Они добавляют случайный мусор
в начало пакетов. DPI видит непонятный UDP, а не WireGuard handshake.
Открываем порт в файрволе:
ufw allow 51820/udp && ufw reload
Через 30–60 секунд контейнер создаст конфиги для 5 клиентов (параметр PEERS=5,
меняйте по нужде).
Конфиг для клиента
QR-код для первого клиента:
docker exec amneziawg /app/show-peer-qr.sh 1 Или просмотр файла конфига:
cat ~/amneziawg/config/peer1/peer1.conf
Файл выглядит как WireGuard конфиг, но с дополнительными полями Junk* — именно
они включают обфускацию на стороне клиента.
Обычный клиент WireGuard не умеет читать эти поля — обфускация не включится. Нужен именно клиент AmneziaWG.
Установка клиента
Android
Скачайте AmneziaVPN из Google Play. «Добавить VPN» → «Свой сервер» → «WireGuard» → отсканируйте QR или вставьте конфиг.
iOS
AmneziaVPN в App Store. Интерфейс такой же. Если не находится — ищите
по прямой ссылке: apps.apple.com/app/amneziavpn/id1541619901.
Windows / macOS / Linux
Скачайте установщик с
GitHub releases.
После установки: «Открыть конфигурацию» → выберите файл peer1.conf.
Проверка
После подключения:
- Откройте 2ip.ru — должен показать IP вашего VPS, не домашний.
- Проверьте что заблокированные сайты открываются.
Если VPN не подключается:
-
Проверьте логи:
docker logs amneziawg. Ошибок быть не должно. -
Проверьте порт снаружи: с другой машины
nc -zvu ваш-ip 51820. -
Попробуйте сменить порт на 443 в
docker-compose.yml(строкаports) и пересоздайте контейнер:docker compose down && docker compose up -d.
Советы по настройке
Смените порт на 443/UDP. Порт 51820 — стандартный для WireGuard, его часто блокируют первым. UDP на 443 выглядит как QUIC/HTTP3 и проходит значительно лучше.
Отдельный конфиг на каждое устройство. Не используйте один peer на всех. Если телефон потеряется — просто удалите его peer, не меняя конфиги на остальных устройствах.
Если начали блокировать — поменяйте значения обфускации:
AWG_JUNK_PACKET_COUNT в диапазоне 2–8, размеры в диапазоне 20–100. Пересоздайте
конфиги клиентов.
Если AmneziaWG нестабилен в вашем регионе — следующий шаг это VLESS+REALITY. Сложнее в настройке, зато DPI его не детектирует вообще. Гайд по VLESS+REALITY →