Перейти к содержанию

AmneziaWG: различия между версиями

Материал из Malw.link Wiki
Нет описания правки
(нет различий)

Версия от 22:51, 12 июня 2025

AmneziaWG — это модифицированный протокол (форк) WireGuard, разработанный командой проекта AmneziaVРN для обхода ограничения протокола WireGuard. AmneziaWG вносит изменения в протокол WireGuard, чтобы затруднить его обнаружение системами DPI, которые используются для идентификации и ограничения VРN-трафика.

Таким образом, AmneziaWG сохраняет высокую производительность, добавляя дополнительный уровень скрытности, что делает его отличным выбором для тех, кому нужно быстрое и незаметное VРN-соединение.

  • Доступно с AmneziaVРN на всех платформах.
  • Низкое энергопотребление.
  • Минимальное количество настроек.
  • Не распознается системами DPI-анализа, устойчив к ограничению.
  • Работает по сетевому протоколу UDP.

AmneziaWG работает в рамках обратной совместимости. То есть реализация AmneziaWG позволяет изменить некоторые статичные параметры в WireGuard, по которым этот протокол обычно и распознают системы DPI. А если оставить эти параметры по умолчанию (равными 0), то протокол будет работать как обычный WireGuard.

В AmneziaWG изменены заголовки всех пакетов:

  • Пакета рукопожатия (Initiator to Responder).
  • Ответного пакета (Responder to Initiator).
  • Пакета данных.
  • Специального пакета “Under Load” – по умолчанию стоят рандомные значения, но их можно самостоятельно поменять в настройках.

Так как заголовки у каждого пользователя разные, то написать универсальное правило на основе заголовков для систем отслеживания, чтобы вычислить протокол и ограничить, просто невозможно.

Еще одно слабое место WireGuard - это размеры пакетов авторизации. В AmneziaWG к каждому auth-пакету дописываются рандомные байты, чтобы изменить их размер. Так “init и response пакеты” рукопожатия дополнительно имеют “мусор” в начале данных, размер которого определяются значениями S1 и S2. По умолчанию инициирующий пакет рукопожатия имеет фиксированный размер (148 байт), а после добавления мусора, его размер будет равен 148 байтам +S1.

В реализации AmneziaWG предусмотрен и еще один трюк для более надежной маскировки. Перед началом сессии AmneziaWG отправляет некоторое количество “мусорных” пакетов, чтобы в окончательно запутать системы DPI. Количество таких пакетов и их минимальный и максимальный размер в байтах тоже задается в настройках, параметрами Jc, Jmin и Jmax.

Параметры файла конфигурации AmneziaWG

  • Jc (Junk packet count) — количество пакетов со случайными данными, которые отправляются перед началом сессии
  • Jmin (Junk packet minimum size) — минимальный размер пакета для Junk packet. То есть все рандомно генерируемые пакеты будут иметь размер не меньше чем Jmin
  • Jmax (Junk packet maximum size) — максимальный размер для Junk пакетов
  • S1 (Init packet junk size) — размер случайных данных, которые будут добавлены к init пакету, размер которого изначально фиксированный
  • S2 (Response packet junk size) — размер случайных данных, которые будут добавлены к ответу, размер которого изначально фиксированный
  • H1 (Init packet magic header) — заголовок первого байта рукопожатия
  • H2 (Response packet magic header) — заголовок первого байта ответа на рукопожатие
  • H4 (Transport packet magic header) — заголовок пакета передаваемых данных
  • H3 (Underload packet magic header) — заголовок пакета UnderLoad

Приложения AmneziaWG

Подключаться к VРN-серверу по конфигурационному файлу AmneziaWG можно в приложении AmneziaVРN (ссылки на скачивание в этой статье) и в одноименном приложении AmneziaWG.

Источник: https://docs.amnezia.org/ru/documentation/amnezia-wg/

Частые ошибки в приложении AmneziaWG

Невозможно импортировать конфигурацию: Две запятые подряд: ","

По какой-то причине, конфиг сгенерировался неверно, удалите его, попробуйте перегенерировать снова другим способом. Гайд по генерации конфига.

Невозможно импортировать конфигурацию: Название туннеля недействительно: "WARP (1)"

Переименуйте файл .conf, в нём не должно быть пробелов, скобок и других символов. Только английские буквы и цифры.

Невозможно импортировать конфигурацию: Неверный ключ для секции [Interface]: "s1"

Импортировать конфиг WARP нужно не в WireGuard, а в AmneziaWG! Скачайте AmneziaWG по ссылкам выше!

Unable to create Wintun interface

Эта проблема связана с установленным приложением AmneziaWG.

Решение 1: Переустановка AmneziaWG от имени администратора:

  1. Удалите AmneziaWG в "Программах и компонентах"
  2. Скопируйте полный путь к .msi файлу установщика AmneziaWG. Для этого удерживая Shift нажмите правой кнопкой мыши по нему -> Копировать как путь
  3. Откройте Командную строку от имени администратора
  4. Вставьте в командную строку скопированный путь, просто нажав по ней правой кнопкой мыши, нажмите Enter

Таким образом, msi файл будет открыт от имени администратора, возможно, это решит проблему.

Решение 2: Удаление драйвера wintun:

  1. Удалите AmneziaWG в "Программах и компонентах"
  2. Откройте Командную строку от имени администратора
  3. Выполните команды:
    dism /online /get-drivers /format:table > drivers.txt
    notepad drivers.txt
    
  4. Найдите wintun.inf, нам нужен его oem-номер. В моём случае это oem7.inf:
  5. Выполните команду для его удаления:
    pnputil.exe /d oem7.inf
    
Вместо 7 подставьте номер, который соответствует wintun.inf в вашем блокноте!
  1. Скопируйте полный путь к .msi файлу установщика AmneziaWG. Для этого удерживая Shift нажмите правой кнопкой мыши по нему -> Копировать как путь
  2. Вставьте в командную строку скопированный путь, просто нажав по ней правой кнопкой мыши, нажмите Enter. Установите AmneziaWG.

Решение 3: AmneziaVРN вместо AmneziaWG

Приложение AmneziaVРN полностью поддерживает конфиги протокола AmneziaWG. Ссылки на скачивание тут.

Не работают соединения к локальной сети

Откройте конфигурационный файл для редактирования:

Уберите галочку "Блокировать нетуннелированный трафик"