AmneziaWG не работает 2026: диагностика на iPhone, Android, Windows и Mac
Что делать если AmneziaWG не подключается или рвётся: handshake fail, MTU mismatch, DNS-leak, конфликт с другим туннелем — пошаговая диагностика для всех платформ.
Картина типичная. Импортировали конфиг из QR-кода, увидели запись в списке, нажали свитч. Индикатор позеленел, в статус-баре появилась маленькая иконка туннеля. Открыли браузер — а страница висит. Открыли мессенджер — отправленное сообщение крутится с серым кружком. Перезагрузили приложение, выключили-включили тумблер, попробовали ещё раз. Тот же результат: визуально всё подключено, но трафик через туннель не идёт.
Самое неприятное в AmneziaWG — отсутствие внятных сообщений об ошибке. Стандартный WireGuard хотя бы пишет в логах «handshake did not complete after 5 seconds, retrying». AmneziaWG чаще просто молчит — статус Connected, индикатор горит, а под капотом handshake уже двадцать минут как не проходит. Пользователь смотрит на зелёную иконку и не понимает, что именно сломано.
На практике в 90% случаев это одна из шести проблем, и диагностируется каждая за пять-десять минут. Ниже разбор по платформам и по симптомам.
Где ваш случай — короткая навигация
Прежде чем читать всё подряд — сопоставьте симптом со строкой таблицы. Большинство ситуаций попадает в одну из шести.
| Ваша ситуация | Куда читать |
|---|---|
| Только что импортировал конфиг, индикатор включился — но интернета нет | Проблема 1 (handshake fail) |
| Туннель подключился, страницы открываются, но рвутся длинные / видео буферит | Проблема 2 (MTU mismatch) |
| Туннель работает, но whoer.net или 2ip.io показывают мой реальный IP | Проблема 3 (DNS-leak) |
| На iPhone попап про «Add VPN Configuration» вообще не появляется | См. отдельный гайд по iPhone-проблемам |
| Туннель работал вчера, сегодня после обновления приложения — handshake fail | Проблема 6 (несовместимая версия) |
| Хочу проверить, может ли AmneziaWG в принципе работать у меня | Секция «Что нужно для работы» ниже |
Дальше по порядку — сначала что вообще требуется AmneziaWG чтобы заработать, потом шесть типичных проблем с пошаговыми фиксами, потом FAQ.
Что нужно для работы AmneziaWG
Прежде чем диагностировать «сломался» — стоит проверить, что среда в принципе поддерживает протокол. У AmneziaWG довольно мягкие требования, но несколько пограничных случаев есть.
Поддерживаемые операционные системы. iOS 15 и новее, iPadOS 15+, macOS Big Sur (11.0) и выше, Android 7 (API 24) и выше, Windows 10 версии 1809 и выше. На свежих устройствах с этим проблем не бывает — но если у вас iPhone 6/6s на iOS 12, или Android-планшет 2017 года с прошивкой Android 6 — AmneziaWG там просто не запустится.
Где AmneziaWG не работает полноценно. Linux — есть только CLI-инструменты (amneziawg-tools, awg-quick), GUI-приложения нет. Можно настроить через .conf и awg-quick up tunnel0, но никакого графического переключателя не будет. Huawei-устройства с HMS и устаревшим EMUI без VpnService API — туннель ставится из APK, но Always-on не работает.
Сеть. AmneziaWG — это UDP-протокол. Если ваш провайдер или Wi-Fi-точка режет исходящий UDP целиком (некоторые корпоративные сети, отели, кафе с captive portal), туннель не поднимется в принципе. На мобильном интернете UDP пропускают почти всегда — это первая проверка: попробуйте переключиться с Wi-Fi на 4G/5G. Если на мобильном работает, а на Wi-Fi нет — упирается в сетевую политику, не в AmneziaWG.
Background-разрешения (Android). Для Always-on нужно дать приложению battery optimization exception — иначе на агрессивных ROM (Xiaomi MIUI, Huawei EMUI, OPPO ColorOS, Realme) система убивает фоновый процесс через минуту после того, как экран гаснет.
Системный профиль (iOS). AmneziaWG регистрирует в системе Personal VPN profile через NetworkExtension framework. Если при первом запуске вы случайно нажали Cancel на диалоге «AmneziaWG would like to add VPN configurations», профиль не установится — и туннель будет висеть в Connecting бесконечно. Подробный разбор iOS-кейсов — в отдельной статье.
Если по всем пунктам зелёный — переходим к диагностике.
Проблема 1: Handshake fail (самая частая)
Симптомы: индикатор подключён, иконка туннеля горит, но реально трафика нет. Speedtest упирается в «Не удалось установить соединение». Сайты не открываются, мессенджер не отправляет. Если у вас Linux и есть awg-CLI — команда awg show покажет latest handshake: never или latest handshake: 47 minutes ago.
Что такое handshake. Коротко про механику — поможет понять, что именно сломано.
AmneziaWG (как и обычный WireGuard) использует Noise IK pattern на базе криптографических примитивов Curve25519 (обмен ключами), ChaCha20-Poly1305 (шифрование) и BLAKE2s (хэш). Подключение начинается с того, что клиент отправляет первый handshake-пакет на endpoint сервера. Сервер должен ответить вторым пакетом в течение нескольких секунд. После успешного обмена устанавливается симметричный ключ сессии, через который идёт зашифрованный трафик.
Если первый пакет до сервера не дошёл — или дошёл, но сервер не ответил — handshake не состоится. Туннель формально «активен» (приложение его создало), но трафик не пойдёт.
Возможные причины и что проверять:
- Endpoint недостижим. Провайдер или firewall режет именно этот UDP-порт. Проверка: попробуйте подключиться с мобильного интернета (4G/5G). Если на мобильном проходит — упирается в сеть, где вы находились. Часто корпоративные сети режут весь UDP кроме DNS (порт 53) и QUIC (порт 443).
- Сервер сменил публичный ключ. Бывает после перевыпуска ключей на стороне сервиса. Старый конфиг ссылается на старый
PublicKeyпира, сервер с этим ключом больше handshake не подтвердит. Лечится запросом свежего конфига. - Параметры обфускации не совпадают. AmneziaWG добавляет к WireGuard несколько настраиваемых полей: junk packets (
jc,jmin,jmax), magic header bytes (s1,s2), encrypted packet types (h1,h2,h3,h4). Если клиент пишет packet typeh1=85, а сервер ждётh1=137— handshake не пройдёт даже если ключи верные. Параметры в.confдолжны совпадать с серверными байт-в-байт. - Ваш приватный ключ уже используется другим устройством. Один пир — одна пара ключей. Если вы скопировали
.confс iPhone на Android и попробовали поднять туннель параллельно, сервер увидит handshake с одного и того же pubkey с двух разных endpoint’ов и начнёт «прыгать» между ними — оба устройства будут постоянно терять связь.
Что делать. Сначала попробуйте мобильный интернет — это отделяет проблему сети от проблем конфига. Если на мобильном тоже handshake fail — конфиг устарел или его параметры не совпадают с сервером. Запросите перевыпуск у того, кто выдал QR. У Molystrix перевыпуск идёт через бот @molystrix_bot: «Моя подписка» → «Получить конфиг» → выбираете слот, в ответ приходит свежий QR с актуальными параметрами.
Проблема 2: MTU mismatch (туннель работает, но длинные страницы зависают)
Симптомы: главная Google открывается мгновенно, поиск работает. А вот YouTube буферит на 1080p, GitHub-репозиторий с большим diff’ом не догружается, ChatGPT обрывает ответ на середине, картинка в Telegram-канале висит «1 KB из 940 KB». Короткий трафик пролезает, длинный — нет.
Почему так. У AmneziaWG поверх IPv4 заголовки забирают около 80 байт от каждого пакета (32 байта WireGuard transport header + 20 IP + 8 UDP + ~16-20 на junk/обфускацию). Если MTU физического канала 1500, безопасный MTU внутри туннеля — 1420. Но многие российские провайдеры используют PPPoE с дополнительным оверхедом 8 байт, и реальный MTU там 1492 → внутри туннеля надо 1412. На некоторых мобильных операторах при роуминге или при перегруженных сегментах MTU вообще режется до 1300-1280.
Когда MTU выставлен слишком большой, ОС пытается отправить пакет 1450 байт. Он не помещается в один UDP-датаграмм, должен фрагментироваться. Иногда фрагментация отключена флагом DF (Do not Fragment), иногда фрагменты теряются на маршруте — для TCP это retransmit, страница виснет.
Тест path MTU из терминала:
# Linux / macOS — отправить ping без фрагментации
ping -M do -s 1252 1.1.1.1 # 1252 + 28 байт IP/ICMP = 1280, минимум IPv6
ping -M do -s 1372 1.1.1.1 # 1372 + 28 = 1400
ping -M do -s 1392 1.1.1.1 # 1420, стандарт для WG поверх Ethernet
# Windows PowerShell
ping -f -l 1252 1.1.1.1
ping -f -l 1372 1.1.1.1
Найдите максимальный размер, при котором ping проходит без «Packet needs to be fragmented». Прибавьте 28 — реальный path MTU вашей сети. Отнимите 80 — безопасный MTU для интерфейса AmneziaWG.
Как починить. Откройте конфиг в AmneziaWG (на телефоне — нажать на тоннель → Edit), в секции [Interface] пропишите:
MTU = 1280
1280 — minimum guaranteed MTU для IPv6, проходит почти везде. Если после этого скорость осталась нормальной — оставьте. Если хочется выжать максимум — пройдите тест выше и подберите оптимальное значение для вашего провайдера.
Проблема 3: DNS-leak
Симптомы: speedtest.net показывает зарубежный IP сервера туннеля — всё ок, кажется. А зашли на whoer.net или 2ip.io — а там «DNS: 81.211.xx.xx, Rostelecom, Россия». Часть трафика всё-таки идёт мимо.
Что происходит. Туннель действительно пропускает TCP- и UDP-трафик через себя. Но DNS-запросы (запросы «дай мне IP для youtube.com») могут утекать мимо туннеля — если приложение использует свой собственный DNS-резолвер вместо системного, или если включён DoH (DNS over HTTPS) в браузере, который игнорирует системные настройки и шлёт запросы напрямую на dns.google или 1.1.1.1 — но через физический интерфейс, не через туннель.
Сайты, которые проверяют ваш IP через DNS (а это многие сервисы), увидят DNS-сервер вашего провайдера и поймут географию.
Что делать. Сначала жёстко зафиксируйте DNS в конфиге туннеля. В секции [Interface] добавьте или замените:
DNS = 1.1.1.1, 1.0.0.1
Это Cloudflare DNS — быстрый, без логирования. Альтернатива — Quad9 (9.9.9.9) или OpenDNS (208.67.222.222).
Дальше — отключите DoH в браузерах:
- Chrome / Edge / Brave:
chrome://flags→ найдитеAsync DNS resolver→ Disabled. Альтернативноchrome://settings/security→ «Use secure DNS» → Off. - Firefox: Settings → General → Network Settings → отключить «Enable DNS over HTTPS».
- Safari (macOS): DoH в Safari нет — DNS берётся из системы, всё OK.
На iPhone — Settings → VPN → нажать на свой профиль AmneziaWG → Configure DNS → Manual → 1.1.1.1. На Android — Settings → Network & Internet → Private DNS → Off (Private DNS у Android тоже может утекать мимо туннеля, парадоксально, но факт).
После этого пересдайте тест на whoer.net — DNS должен показывать тот же географический регион, что и IP.
Проблема 4: Конфликт с другим туннельным клиентом
Симптомы: AmneziaWG включается, в течение 5-10 секунд работает, потом сам отключается. Или вообще не включается — выскакивает уведомление «VPN session was disconnected by the system». На iOS — попап «Another VPN configuration is active».
Причина. Mobile-операционки пускают только один активный Personal VPN profile одновременно. На iOS это часть NetworkExtension framework — система просто не даёт второму процессу поднять TUN-интерфейс параллельно. На Android VpnService API ведёт себя так же: при попытке второго туннеля система разрывает первый.
Что может конфликтовать:
- AmneziaVPN (мульти-протокольный клиент той же команды) — если установлен и активен, ловит TUN раньше
- Cloudflare WARP / 1.1.1.1 with WARP
- Outline Client
- ProtonVPN, NordVPN, ExpressVPN — любой коммерческий клиент
- AdGuard (если включена опция «Защита DNS» через локальный туннель)
- Корпоративный профиль для удалённой работы
Лечится так. На iOS — Settings → General → VPN & Device Management → VPN → переключите все профили кроме AmneziaWG в Not Connected. Если какой-то профиль не нужен совсем — нажмите на него, прокрутите вниз → Delete VPN.
На Android — Settings → Network & Internet → VPN → отключите все кроме AmneziaWG. Профили AdGuard / WARP лучше удалить полностью, если не используете.
На Windows / Mac — посмотрите в системном трее, что у вас работает. Иногда Cloudflare WARP запускается автоматически при загрузке и тихо съедает TUN-интерфейс.
Проблема 5: Always-on отключается после перезагрузки (Android)
Симптомы: настроили Always-on VPN, поставили галочку «Block connections without VPN». Туннель работал. Перезагрузили телефон — флаг Always-on сбросился, AmneziaWG в фоне не поднялся. Открыли вручную → включился.
Причина. Агрессивные ROM некоторых китайских OEM (Xiaomi MIUI/HyperOS, Huawei EMUI, OPPO ColorOS, Realme, Vivo FuntouchOS) применяют свои battery-saver политики, которые игнорируют стандартное VpnService Android API. После reboot эти системы зачищают autostart-список, и AmneziaWG не получает permission поднять туннель до того, как пользователь откроет приложение вручную.
Что делать. Раз и навсегда дать AmneziaWG исключения:
- Battery optimization:
Settings → Battery → Battery optimization → All apps → AmneziaWG → Don't optimize. Точное название пункта зависит от ROM — на MIUI этоBattery & performance → App battery saver → AmneziaWG → No restrictions. - Autostart: на MIUI / HyperOS —
Settings → Apps → Manage apps → AmneziaWG → Autostart → ON. На EMUI — аналогично черезSettings → Apps → AmneziaWG → Battery → Launch → Manual + Auto-launch. - Lock app in recents: откройте AmneziaWG, потяните карточку приложения вниз в режиме недавних, появится замок — нажмите. Это говорит ROM не убивать процесс при «очистке памяти».
- Always-on VPN включён в системе:
Settings → Network & Internet → VPN → AmneziaWG → шестерёнка → Always-on VPN: ON. И ниже:Block connections without VPN: ON(kill switch).
После reboot туннель должен подниматься автоматически за 5-10 секунд до того, как разблокируется экран.
Проблема 6: Не работает после обновления приложения
Симптомы: вчера всё работало штатно. Сегодня утром открыли — обновилось через App Store / Play Store ночью. Включили туннель → handshake fail. Откатить версию приложения хочется, но непонятно как.
Причина. AmneziaWG-обновления иногда меняют дефолтные значения параметров обфускации (jc, s1, s2, h1-h4). Если ваш конфиг от провайдера был сгенерирован под старые дефолты, а в новой версии клиент применяет новые — handshake не сходится: клиент шлёт «junk packet» одного размера, сервер ожидает другого.
В норме такие изменения должны быть backward-compatible — но иногда release вылетает с регрессией.
Что делать. Сначала проверьте, не на стороне ли провайдера это лечится. У Molystrix параметры конфигов автоматически синхронизируются с актуальной версией клиента — после крупных AmneziaWG-релизов обычно пересобираем шаблоны в первые сутки. Запросите свежий конфиг через бот — если проблема в этом, новый QR заработает.
Если провайдер не обновляет шаблоны — варианты:
- Android: скачать APK предыдущей версии с APKMirror, удалить текущий клиент, поставить старую сборку. Отключить автообновления для AmneziaWG в Play Store (нажать на приложение → меню справа сверху → снять галочку Auto-update).
- iOS: официально откатить версию приложения нельзя. Если App Store недоступен из России — установить можно через альтернативные методы (AltStore, Sideloadly), но это уже инфраструктурно неприятно. Проще запросить у провайдера обновлённый конфиг.
- Windows: скачать предыдущий MSI с GitHub-релизов
amneziawg/amneziawg-windows-client, удалить текущий, поставить старый. - macOS: через
brew install --caskможно откатиться черезbrew tap-info, но проще пересоздать конфиг.
Если потратили час на диагностику и каждый шаг возвращает «handshake never» — возможно, дело не в вашем устройстве, а в самосбор-сервере с устаревшими параметрами AmneziaWG или в провайдере, который не обновляет шаблоны конфигов под новые релизы клиента. У нас Molystrix — 249 ₽ в месяц за три устройства, конфиг автогенерится со свежими параметрами обфускации под актуальную версию приложения, QR-кодом на email после оплаты. Перевыпуск через бот в любой момент, если что-то перестало работать. → Посмотреть тарифы
Что попробовать прямо сейчас — короткий чеклист
Десять минут на пять шагов — часто этого хватает, чтобы починить или хотя бы локализовать проблему.
- Перезагрузить устройство. Не «закрыть приложение», а полный рестарт. ОС иногда держит зомби-сессии — после reboot всё чистится.
- Удалить и переимпортировать конфиг. Свайп влево по тоннелю → Delete. Дальше — сосканировать QR заново из письма / бота. Это лечит случаи, когда клиент сохранил битый internal state.
- Переключиться на мобильный интернет. Если на 4G/5G работает, а на Wi-Fi нет — упирается в роутер/провайдера, не в AmneziaWG. Часто корпоративные сети режут UDP.
- Проверить статус сервиса. Если у вашего провайдера есть status-page или служебный канал — посмотрите там. Сервера падают, дата-центры тоже. Иногда «AmneziaWG сломался» — это ваш сервис тихо лежит.
- Написать в поддержку. Если конфиг от Molystrix —
@molystrix_support, видим серверные логи в реальном времени, за 15 минут понятно, наш косяк или нет. У других провайдеров — ищите канал в боте или email на сайте.
Часто задаваемые вопросы
Почему AmneziaWG показывает зелёный индикатор, но интернета нет?
Чаще всего — handshake не прошёл, но приложение этого не показывает. На iOS / Android индикатор означает «туннель технически активен» (TUN-интерфейс создан), но не «handshake успешен». Если на Linux запустить awg show, увидите latest handshake: never — крипто-сессия не установилась. Причины: устаревший публичный ключ сервера, несовпадение параметров обфускации jc/h1-h4, провайдер блокирует UDP-порт. Решение — запросить свежий конфиг у того, кто выдал; попробовать через мобильный интернет; проверить, не идёт ли в конфигe устаревший endpoint.
Что значит «handshake fail» в AmneziaWG?
Handshake — это начальный криптографический обмен между клиентом и сервером по схеме Noise IK (Curve25519 для обмена ключами, ChaCha20-Poly1305 для шифрования). Клиент шлёт первый пакет с публичным ключом, сервер должен ответить вторым. Если первый пакет не дошёл, или сервер не ответил, или AmneziaWG-параметры обфускации не совпадают — handshake не состоится. Туннель формально активен, но трафик не пойдёт.
Что делать если AmneziaWG не подключается после перезагрузки телефона?
На Android — проверить battery optimization (Settings → Battery → AmneziaWG → Don't optimize) и autostart (на MIUI/HyperOS нужно явно включить). Always-on VPN-флаг сбрасывается на агрессивных ROM. На iPhone — открыть приложение вручную один раз после reboot, дальше работает. Если каждый раз приходится поднимать руками — нет permission на Personal VPN profile, переустановить и согласиться с системным диалогом.
Можно ли использовать AmneziaWG-конфиг от одного провайдера в клиенте, скачанном из APK?
Да, клиент один и тот же — что в App Store, что в Google Play, что APK с GitHub-релиза amneziawg/amneziawg-android. Конфиг привязан к серверу, а не к origin клиента. Главное — версия клиента должна поддерживать те параметры обфускации (s1, s2, h1-h4), которые прописаны в конфиге. Очень старые сборки (до 1.2.x) могут не понимать новые поля.
Что такое DNS-leak и как его проверить?
DNS-leak — когда часть DNS-запросов идёт мимо туннеля через физический интерфейс. Сайты, проверяющие географию через DNS-резолвер (а это многие сервисы), видят DNS вашего провайдера и понимают реальную локацию. Проверка — открыть whoer.net или 2ip.io, сравнить IP туннеля и DNS-провайдера. Если DNS показывает Rostelecom / МТС / Билайн, а IP зарубежный — у вас leak. Лечится явным DNS в [Interface] (DNS = 1.1.1.1) и отключением DoH в браузере.
AmneziaWG не работает на корпоративном Wi-Fi — почему?
Корпоративные сети часто пускают только TCP/80, TCP/443 и UDP/53 (DNS), всё остальное режут. AmneziaWG — UDP-протокол на нестандартном порту (обычно 51820), он туда не пройдёт. Workaround: попросить провайдера перенастроить сервер на UDP/443 (этот порт обычно открыт под QUIC, и трафик проходит как часть «нормального» интернета). У некоторых сервисов AmneziaWG на 443 идёт в конфиге по умолчанию.
Может ли антивирус мешать AmneziaWG?
Иногда да. Kaspersky Internet Security и ESET NOD32 на Windows могут классифицировать AmneziaWG-клиент как «потенциально нежелательное ПО» из-за того, что он добавляет TUN-адаптер и перехватывает системный трафик. Лечится добавлением AmneziaWG.exe в исключения. На macOS / iOS / Android такого почти не бывает.
Что делать если конфиг был, но потерялся?
У Molystrix — войти в бот @molystrix_bot, «Моя подписка» → «Получить конфиг» → выбрать слот → бот пришлёт свежий QR с новыми ключами. Старый конфиг при этом инвалидируется автоматически. У других сервисов — обычно есть личный кабинет или email-поддержка для перевыпуска, ищите по принципу «где оплачивали». QR-код, который вы получили один раз, и приватный ключ можно скопировать в безопасное хранилище (1Password, KeePass) — пригодится при смене устройства.
Резюме
- Зелёный индикатор ≠ работающий туннель. На iOS / Android приложение показывает «Connected» как только создаст TUN-интерфейс — handshake к этому моменту мог не пройти. Реальная проверка — открыть speedtest или whoer.net.
- 90% проблем — одна из шести. Handshake fail (устаревший конфиг или несовпадение обфускации), MTU mismatch (длинные пакеты теряются), DNS-leak (системный DNS идёт мимо), конфликт с другим Personal VPN profile, отвалы Always-on на агрессивных Android ROM, регрессия после обновления приложения.
- Если клиент молчит — диагностируйте сетью. Попробуйте 4G/5G вместо Wi-Fi — отделит проблемы сети от проблем конфига. Откройте логи в приложении (на iOS: тоннель → View Logs, на Android: Settings → Logs) — там видно retry handshake’ов.
- Не помогло — запросите свежий конфиг. Перевыпуск занимает минуту, но решает половину случаев: устаревший публичный ключ сервера, новые параметры обфускации после релиза клиента, кривой импорт. У Molystrix перевыпуск идёт через бот
@molystrix_bot, конфиг приходит на email QR-кодом — 249 ₽ в месяц за три устройства.
Если симптомы шире и затрагивают мульти-протокольный AmneziaVPN-клиент (а не standalone AmneziaWG), посмотрите параллельный разбор про другой клиент той же команды. Если только устанавливаете AmneziaWG — есть гайд по установке на всех платформах и более подробный пошаговый разбор для iPhone и iPad. Чем AmneziaWG отличается от обычного WireGuard — в этом сравнении. Для близкой по жанру диагностики обычного WireGuard — отдельная статья по слоям.
Подключите Molystrix за 2 минуты
Защищённое соединение для работы с международными сервисами. Протокол AmneziaWG, серверы в Европе, 3 устройства, оплата картой или СБП.