Что такое AmneziaWG Legacy и откуда взялось это название
AmneziaWG Legacy — это обозначение первой версии протокола AmneziaWG (1.0 и 1.5), которое появилось в приложении AmneziaVPN после выхода обновления 4.8.12.9. Если вы обновили клиент, а на сервере остался старый протокол, он автоматически получит пометку Legacy. Это не отдельный продукт, а скорее маркер совместимости: старые конфигурации и ключи продолжают работать, но новые возможности, такие как динамическая маскировка и расширенный padding, им недоступны.
Протокол AmneziaWG был создан как форк WireGuard с целью обхода DPI-систем. Первая версия появилась в 2023 году и позволяла маскировать handshake под случайные данные, менять размеры пакетов и подменять заголовки. Однако с развитием методов анализа трафика этих мер стало недостаточно, поэтому разработчики выпустили AmneziaWG 2.0. Тем не менее Legacy-версия остаётся востребованной: она проще в настройке, совместима с более широким кругом устройств и в ряде сценариев всё ещё эффективна.
Ключевые отличия AmneziaWG 1.0/1.5 от AmneziaWG 2.0
Чтобы понять, когда использовать Legacy, важно разобраться в технических различиях. Версия 1.0 умела отправлять мусорные пакеты перед handshake (параметры Jc, Jmin, Jmax), изменять размеры handshake-пакетов (S1, S2) и заменять стандартные заголовки WireGuard на фиксированные значения (H1–H4). Версия 1.5 добавила параметры I1–I5, которые позволяли вставлять в начало соединения сигнатуру легитимного протокола, например DNS-запроса.
AmneziaWG 2.0 пошёл дальше: вместо фиксированных заголовков используются диапазоны значений, которые выбираются случайно для каждого пакета, добавлен padding для всех типов пакетов (S3 для cookie reply, S4 для транспортных данных), а также появилась полноценная система CPS (Custom Protocol Signature) для создания до пяти поддельных пакетов перед handshake. Это делает трафик практически неотличимым от обычного QUIC, DNS или SIP.
Главное практическое отличие: Legacy-конфигурации несовместимы с AWG 2.0. Если вы переходите на новую версию, придётся генерировать новые ключи и файлы конфигурации. При этом старые конфиги продолжат работать, но только с клиентом, поддерживающим Legacy.
Когда имеет смысл использовать AmneziaWG Legacy
Несмотря на выход новой версии, Legacy остаётся актуальным в нескольких сценариях. Во-первых, если у вас установлено приложение AmneziaVPN старше 4.8.12.9 — вы просто не сможете использовать AWG 2.0, так как он требует обновлённого клиента. Во-вторых, если ваш сервер работает под управлением старого ядра или модуля amneziawg-linux-kernel-module, который не поддерживает AWG 2.0, проще остаться на Legacy, чем перепрошивать сервер.
В-третьих, для некоторых пользователей важна простота настройки. Legacy-конфигурации можно генерировать с помощью сторонних инструментов, например генератора для Cloudflare WARP, который поддерживает AWG 1.5. Это позволяет быстро получить рабочий VPN без необходимости разбираться в тонкостях CPS.
Наконец, в условиях, когда DPI не настроен на детектирование обфусцированного WireGuard, Legacy работает вполне стабильно. Если вы не замечаете блокировок, нет смысла переходить на новую версию — принцип «работает — не трогай» здесь вполне уместен.
Как настроить AmneziaWG Legacy на своём сервере
Если вы решили использовать Legacy, процесс установки мало отличается от настройки AWG 2.0, но есть нюансы. В приложении AmneziaVPN выберите подключение к серверу, нажмите на шестерёнку, в списке протоколов найдите AmneziaWG Legacy и установите его, если он ещё не установлен. После установки протокол появится в списке доступных для подключения.
Важно: если на сервере уже был установлен AmneziaWG 1.0, после обновления клиента он автоматически станет Legacy. При этом старые ключи и конфигурации продолжат работать. Если вы устанавливаете Legacy с нуля, вам потребуется сгенерировать новые ключи — это можно сделать через интерфейс приложения или с помощью сторонних генераторов.
Для повышения устойчивости к блокировкам в Legacy можно вручную задать параметр I1, который маскирует начало соединения под DNS. В настройках подключения найдите поле I1 - First special junk packet и вставьте строку вида **. Это заставит DPI видеть DNS-запрос вместо handshake WireGuard.
Использование генераторов конфигураций для Legacy
Для упрощения настройки существуют веб-генераторы, которые создают готовые .conf-файлы для AmneziaWG. Например, генератор для Cloudflare WARP позволяет получить конфигурацию как для AWG 1.5 (Legacy), так и для AWG 2.0. Это удобно, если вы хотите использовать публичный сервер Cloudflare без необходимости арендовать VPS.
При генерации конфигурации для Legacy вы можете выбрать пресеты маршрутов (AllowedIPs), DNS-серверы, а также настроить параметры обфускации. По умолчанию весь трафик идёт через туннель, но можно ограничить его только нужными подсетями. Для мобильных устройств предусмотрен специальный профиль с уменьшенными значениями Jc и MTU.
Важно помнить: конфигурации для AWG 1.5 и AWG 2.0 несовместимы. Если вы сгенерировали файл для Legacy, он будет работать только с клиентом, поддерживающим эту версию. При переходе на AWG 2.0 потребуется заново сгенерировать конфиг.
Параметры обфускации в Legacy: что можно настроить
В AmneziaWG Legacy доступны следующие параметры обфускации: Jc — количество мусорных пакетов перед handshake, Jmin и Jmax — минимальный и максимальный размер этих пакетов, S1 и S2 — padding для handshake-пакетов, H1–H4 — фиксированные заголовки для разных типов пакетов. Также в версии 1.5 появились I1–I5 — сигнатуры, которые имитируют начало легитимного протокола.
Настройка этих параметров позволяет адаптировать протокол под конкретные условия. Например, если провайдер блокирует UDP на высоких портах, можно сменить порт на значение до 9999. Если DPI анализирует размеры пакетов, можно подобрать S1 и S2 так, чтобы они соответствовали типичным размерам DNS-запросов.
Однако у Legacy есть ограничение: параметры I1–I5 можно менять только на стороне клиента, для каждого устройства отдельно. В AWG 2.0 эти настройки можно задать на сервере, что упрощает управление. Если вам нужно централизованное управление, стоит рассмотреть переход на новую версию.
Как самостоятельно найти сигнатуру для маскировки в Legacy
Если встроенных сигнатур недостаточно, вы можете создать собственную с помощью Wireshark. Для этого запустите захват трафика, выберите пакет нужного протокола (например, QUIC или DNS) и скопируйте его hex-представление. Затем преобразуйте строку в формат CPS: добавьте префикс **. Полученную строку вставьте в параметр I1 в настройках подключения.
Этот метод позволяет подобрать сигнатуру, которая максимально соответствует вашему трафику. Например, если вы часто используете DNS, можно захватить реальный DNS-запрос и использовать его в качестве маски. Важно выбирать начальные или финальные пакеты сессии, так как они лучше подходят для имитации.
Обратите внимание: в Legacy сигнатура применяется только к началу соединения, а не ко всему трафику. Поэтому для полной мимикрии, как в AWG 2.0, этот способ не подходит. Но для обхода простых DPI-фильтров его вполне достаточно.
Ограничения и проблемы при использовании Legacy
Главное ограничение Legacy — отсутствие динамической маскировки. DPI-системы, которые анализируют статистические паттерны, могут вычислить VPN даже при использовании обфускации. Например, если все пакеты имеют одинаковый размер или заголовок, это вызывает подозрение. В AWG 2.0 эта проблема решена за счёт случайных диапазонов и padding.
Ещё одна проблема — несовместимость с новыми функциями. Если вы обновите клиент до версии, поддерживающей AWG 2.0, Legacy-конфигурации продолжат работать, но вы не сможете использовать новые возможности, такие как S3/S4 padding или CPS. Для этого придётся переустановить протокол и сгенерировать новые ключи.
Также стоит учитывать, что некоторые провайдеры блокируют UDP-трафик на высоких портах. В Legacy вы можете сменить порт вручную, но это не всегда помогает. В таких случаях может потребоваться использование TCP-обёрток или других протоколов, например XRay.
Как перейти с Legacy на AmneziaWG 2.0 без потери доступа
Переход на AWG 2.0 требует обновления клиента до версии 4.8.12.9 или выше и переустановки протокола на сервере. После этого старые Legacy-конфигурации станут неработоспособными, поэтому важно заранее подготовить новые ключи и файлы конфигурации. Рекомендуется сохранить старые конфиги на случай, если новый протокол не заработает.
Процесс перехода: обновите приложение, откройте настройки сервера, удалите старый протокол AmneziaWG Legacy и установите новый AmneziaWG 2.0. Затем создайте новых пользователей и выдайте им новые ключи. Если вы используете сторонние генераторы, убедитесь, что они поддерживают AWG 2.0.
Важно: если вы используете Cloudflare WARP, для AWG 2.0 не требуется настройка сервера — достаточно сгенерировать конфиг и импортировать его в клиент. Однако для собственного сервера потребуется обновить ядро и модуль amneziawg-linux-kernel-module до версии, поддерживающей AWG 2.0.
Частые ошибки при работе с Legacy и способы их решения
Одна из распространённых ошибок — попытка использовать Legacy-конфигурацию с клиентом, который поддерживает только AWG 2.0. В этом случае подключение не установится, а в приложении появится надпись Not installed. Решение — либо обновить клиент, либо сгенерировать конфиг для соответствующей версии.
Другая проблема — блокировка UDP-порта. Если подключение не работает, проверьте, не занят ли порт другим сервисом, и попробуйте сменить его на значение до 9999. Также стоит проверить, не блокирует ли провайдер UDP вообще — в этом случае поможет использование TCP-протоколов.
Если сайты не открываются после подключения, проверьте настройки DNS и AllowedIPs. Иногда проблема в IPv6 — отключите его в конфигурации, чтобы уменьшить число маршрутов. Также убедитесь, что MTU не превышает 1280 для мобильных сетей.
Вопросы и ответы
Что такое AmneziaWG Legacy и чем он отличается от AmneziaWG 2.0?
AmneziaWG Legacy — это первая версия протокола AmneziaWG (1.0 и 1.5), которая осталась в приложении после выхода обновления 4.8.12.9. Она использует фиксированные заголовки и простую обфускацию, в то время как AWG 2.0 добавляет динамические диапазоны заголовков, padding для всех пакетов и систему CPS для имитации легитимных протоколов. Legacy-конфигурации несовместимы с AWG 2.0, поэтому при переходе нужно генерировать новые ключи.
Можно ли обновить существующее подключение AmneziaWG 1.0 до версии 2.0?
Нет, обновить подключение напрямую нельзя. Протоколы AmneziaWG 1.0 и 2.0 используют разные механизмы обфускации, поэтому для перехода на AWG 2.0 необходимо переустановить протокол на сервере и сгенерировать новые ключи и файлы конфигурации для всех устройств. Старые конфигурации продолжат работать только с клиентом, поддерживающим Legacy.
Нужно ли перевыпускать ключи при изменении настроек AmneziaWG Legacy?
Если вы меняете только клиентские настройки (например, параметры I1–I5) на конкретном устройстве, перевыпуск ключей не требуется. Однако если вы меняете серверные настройки, порт, переустанавливаете протокол или заменяете Docker-контейнер, ранее выданные ключи и конфигурации перестанут работать. В этом случае нужно создать новых пользователей и выдать им новые ключи.
Как повысить устойчивость Legacy к блокировкам, если нет возможности обновиться до AWG 2.0?
Можно вручную задать параметр I1, который маскирует начало соединения под DNS-запрос. Для этого в настройках подключения найдите поле I1 - First special junk packet и вставьте строку вида **. Это заставит DPI видеть DNS-трафик вместо handshake WireGuard. Также можно использовать сторонние генераторы конфигураций с предустановленными сигнатурами.
Подходит ли AmneziaWG Legacy для использования с Cloudflare WARP?
Да, Legacy-конфигурации для Cloudflare WARP можно сгенерировать с помощью специальных веб-инструментов, например генератора AmneziaWG Config. Эти конфиги работают с публичным сервером Cloudflare без необходимости настройки собственного сервера. Однако учтите, что для AWG 2.0 также есть поддержка WARP, и она обеспечивает более надёжную маскировку.
Какие параметры обфускации доступны в AmneziaWG Legacy?
В Legacy доступны параметры Jc (количество мусорных пакетов), Jmin и Jmax (размеры мусорных пакетов), S1 и S2 (padding для handshake), H1–H4 (фиксированные заголовки), а также I1–I5 (сигнатуры для имитации легитимных протоколов). Эти параметры можно настроить вручную в клиенте, но они не обеспечивают такой же гибкости, как в AWG 2.0.