Блог Маяка

Amnezia не работает: что проверить в своём конфиге и на своём сервере, прежде чем менять всё

У своего сервера AmneziaWG (через Amnezia или другой клиент) рукопожатие вдруг перестало проходить, хотя конфиг никто не трогал? Или новый конфиг не встал с первой попытки? Ниже — не гадание, а порядок проверок: пять шагов, где мы сами находили причину на своих стендах, и то, что показал наш собственный замер по трём операторам в июле 2026 года.

Коротко. Разделите два случая — они лечатся по-разному. Работало и перестало: конфиг почти никогда не виноват сам, поменялось что-то вокруг — адрес сервера, версия пакета, сеть. Не заработало с первого раза: почти всегда расходится один из параметров, которые ОБЯЗАНЫ совпасть у клиента и сервера (S1–S4, H1–H4), а не «неправильная» маскировка. При таком расхождении рукопожатия (handshake) не будет вовсе — это разбирается пятью проверками по порядку, ниже.

Мы делаем Маяк. Тот же AmneziaWG 3.1, но параметры маскировки раздаёт сервер — руками собирать конфиг не нужно, и если один путь не проходит, приложение само переключается на другой. 3 дня бесплатно после подтверждения почты, карта не нужна.

Пять проверок по порядку

Порядок важен: следующий шаг имеет смысл проверять только после того, как предыдущий не помог. Иначе легко потратить вечер не там — переставляя маскировку там, где дело в MTU.

  1. Адрес сервера отвечает именно с этой сети сейчас. Сначала обычный ping или curl до адреса сервера, без туннеля. Если ответа нет вовсе — дело не в AmneziaWG: с этой сети до сервера в принципе не дотянуться, и дальше по списку смотреть бессмысленно.
  2. Параметры Jc/Jmin/Jmax/S1–S4/H1–H4 совпадают на обеих сторонах. Мы проверяли это прямым замером: S и H — общий алфавит, разница в единицу — и рукопожатия не будет; Jc, Jmin, Jmax и I1–I5 — дело клиента, сервер их не проверяет вовсе. Полный разбор, что и почему обязано совпасть, — в статье «Как настроить AmneziaWG: разбор конфига», здесь не повторяем.
  3. Версия модуля и клиента. AmneziaWG 3.1 добавил поля, которых не было в 1.5 и 2.0 (защита заголовка, таймеры). Конфиг от старого генератора не «частично применится» — утилита ответит Line unrecognized и не станет разбирать файл дальше, и наоборот. Проверяется одной командой на сервере: awg --version.
  4. MTU не съеден добивкой. Поле S4 добавляет байты к каждому пакету с данными уже после того, как MTU посчитан. Симптом характерный: рукопожатие проходит, лёгкие страницы открываются, тяжёлые висят. Как считать MTU для AmneziaWG — отдельный разбор с расчётом по байтам.
  5. IPv6 есть или нет на этом маршруте. Если сервер слышен по IPv6, а клиент упорно идёт по IPv4 (или наоборот), и именно этот маршрут не пропускает трафик — рукопожатия не будет, хотя обе стороны в отдельности «работают». Что при этом меняется и как проверить у себя — разбор IPv4 против IPv6.

Если рукопожатие (handshake) так и не появилось после всех пяти проверок, а адрес сервера с вашей сети отвечает — вероятно, дело не в конфиге, а в самой сети. Что мы про это измерили — в следующем разделе.

Что показал наш стенд по операторам

Если адрес сервера отвечает, параметры совпадают, версии сошлись, MTU и IPv6 проверены, а рукопожатия всё равно нет — это уже не вопрос конфига. У нас есть свой замер именно для этого случая: 28 июля 2026 года в Москве мы прогнали один и тот же сервер и один и тот же телефон через три сотовые сети, меняя в конфиге ровно по одной вещи за раз (как мы меряем, полные строки — разбор по Мегафону и по МТС).

ОператорБез маскировкиС маскировкой
Билайн работал работал (маскировка не мешает исправной сети)
Мегафон не подключался вовсе — минуту «Подключение…» ✅ подключился, 117–127 Мбит/с
МТС рукопожатие проходило, поток умирал через ~2,5 с ✅ подключился, не отваливался

Порт сам по себе роли не сыграл: на Мегафоне порт 443 без маскировки не помог ни разу, а маскировка на обычном высоком порту сработала не хуже, чем на 443. Решает содержимое первого пакета, а не номер порта. Разные рабочие маскировки (QUIC, STUN, SIP на своих портах) дали от 96,9 до 127 Мбит/с — разброс между ними мельче разброса между двумя прогонами одного и того же варианта на мобильной сети, то есть сравнивать их по скорости бессмысленно: любой рабочий вариант даёт около сотни мегабит там, где без него не подключается вообще ничего. Теле2 в этом замере не проверяли.

⚠️ Дата и место замера — часть результата, а не мелкий шрифт: это Москва, 28 июля 2026 года. В другом регионе или сегодня сеть может вести себя иначе — мы обновляем эти цифры только новыми замерами, а не рассуждением.

Если своего сервера нет

Поднимать сервер, сверять параметры конфига по пунктам выше и следить за версией пакета — работа, за которую не каждый готов взяться. У Маяка это уже сделано: AmneziaWG 3.1 стоит на всех выходах, параметры маскировки раздаёт сервер, конфиг руками не собирается и не переносится между устройствами. Если один путь всё же не проходит, приложение само переключается на следующий, а не залипает на одном — как это устроено, в «Одна кнопка, три пути».

Маяк снимает эти пять проверок с вас. Версии клиента и сервера обновляются вместе, MTU посчитан с учётом добивки, а маскировку подбирает приложение — конфиг руками не собирается никогда. Доступ открывает подтверждённая почта — 3 дня бесплатно.

Что мы проверили

  • Версии, снятые 26 сентября 2026 года. Наше приложение сайтового канала, версия 0.7.37: amneziawg-go/v3 v3.1.20260814, amneziawg-tools v1.0.20260223 (форк, тег v0.7.37). На нодах nl2 и pl1: модуль ядра amneziawg 3.1.20260812, amneziawg-tools v3.1.20260812 (снято около 13:55 МСК). Прибор — scripts/check-versions-everywhere.sh.
  • Строки по операторам. Из docs/research/awg-bench-results.md — собственный замер 28 июля 2026 года, Москва, на трёх сетях подряд, каждый вариант отличался от предыдущего ровно одной вещью.
  • Что обязано совпасть в конфиге. Отдельным замером в тот же день — какие поля общие для клиента и сервера, а какие только клиентские; полностью — в разборе конфига, здесь эту таблицу не повторяем.

Чего мы не знаем

  • Свой сервер на чужом хостинге мы не тестировали. Все строки по операторам выше сняты через наш собственный стенд и наше приложение, а не через произвольный VPS читателя — хостинг и его сеть до сервера в замер не входили.
  • Клиент Amnezia отдельно не проверяли. Версии AmneziaWG выше сняты с нашего приложения для Android и наших нод, а не с приложения Amnezia на телефоне или компьютере — как оно там ведёт себя с тем же конфигом, мы не измеряли.
  • Только Москва и только 28 июля. В другом городе и сегодня картина может отличаться — для этого мы и пишем дату и место каждого замера, а не оставляем вывод безымянным.
  • Полный отказ рукопожатия на новых операторах после 28-07 не перемеряли. Если у вас сеть, которой нет в таблице выше, — честный ответ «не измерено», а не догадка.

Короткие ответы

Amnezia не работает именно сегодня — как отличить временное от постоянного? Прежде чем искать причину — проверьте первый пункт из пяти: отвечает ли адрес сервера с вашей сети без туннеля вовсе. Если да, а рукопожатия всё равно нет — смотрите пункты 2–5 по порядку; если сервер работал вчера и не менялся, а сеть незнакомая — это ближе к тому, что мы измерили на трёх операторах в июле (раздел выше), а не к поломке на вашей стороне.

Amnezia VPN не работает, хотя конфиг тот же — почему? Конфиг сам по себе редко виноват, если раньше он работал. Чаще меняется что-то вокруг него: версия пакета на сервере, MTU после обновления, доступность IPv6 на новой сети. Все пять мест, где мы сами находили причину, — в разделе «Пять проверок по порядку» выше.

AmneziaWG не подключается совсем, рукопожатия (handshake) нет — с чего начать? С первого пункта, а не с последнего: сначала убедитесь, что адрес сервера отвечает без туннеля с этой сети, потом сверяйте параметры S/H — по нашему замеру именно расхождение в них убирает рукопожатие целиком, а не «портит» соединение частично.

Что изменилось в AmneziaWG 3.1? Добавились защита заголовка (HeaderProtectionKey) и несколько таймеров, которых не было в 1.5 и 2.0. Конфиг от старой версии генератора AmneziaWG 3.1 не примет частично — либо всё сходится, либо ответ Line unrecognized. Подробно, с полным списком полей по версиям — в разборе конфига.

Где взять конфиг для Amnezia? Его выдаёт сервер, к которому вы подключаетесь: свой поднятый или сервис. Руками с нуля эти поля не «настраивают» — половина из них обязана совпасть с той стороной, а её значения знает только она; разбор каждого поля — в отдельной статье. Если поднимать свой сервер не хочется, у Маяка конфиг приезжает в приложение готовым — раздел выше.

Amnezia WG не работает с мобильным интернетом — это тот же случай? Может быть, а может и нет — эти два случая разные, и путать их дорого. Если конфиг и параметры на двух сторонах совпадают, а рукопожатия всё равно нет только в сотовой сети, — посмотрите раздел «Что показал наш стенд по операторам»: на одной из трёх сетей мы наблюдали ровно такую картину, и без маскировки её не лечил ни один другой параметр.

Короткий вывод: прежде чем менять всё — пройдите пять проверок по порядку. Если после них рукопожатия всё ещё нет, а сервер с вашей сети отвечает, дело, вероятнее всего, не в конфиге.

AmneziaWG — проект команды Amnezia, распространяется на условиях открытой лицензии. Mayak Networks не аффилирован с командой Amnezia и не одобрен ею.

Попробовать Маяк

AmneziaWG 3.1 на всех выходах, параметры маскировки раздаёт сервер, конфиг приезжает в приложение готовым. Свои серверы в Нидерландах, Польше и России, честная пометка пути на экране. 3 дня бесплатно после подтверждения почты, карта не нужна.

Аккаунт заводится прямо в приложении. Доступ открывает подтверждённая почта — 3 дня бесплатно.