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

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

Материал из Malw.link Wiki
Нет описания правки
 
UnWikipedian (обсуждение | вклад)
Нет описания правки
 
(не показано 6 промежуточных версий этого же участника)
Строка 9: Строка 9:
* Работает по сетевому протоколу UDP.
* Работает по сетевому протоколу UDP.


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


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


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


= Параметры файла конфигурации AmneziaWG =
== Параметры файла конфигурации AmneziaWG ==
* '''Jc''' (Junk packet count) — количество пакетов со случайными данными, которые отправляются перед началом сессии
* '''Jc''' (Junk packet count) — количество пакетов со случайными данными, которые отправляются перед началом сессии
* '''Jmin''' (Junk packet minimum size) — минимальный размер пакета для Junk packet. То есть все рандомно генерируемые пакеты будут иметь размер не меньше чем Jmin
* '''Jmin''' (Junk packet minimum size) — минимальный размер пакета для Junk packet. То есть все рандомно генерируемые пакеты будут иметь размер не меньше чем Jmin
Строка 35: Строка 35:
* '''H3''' (Underload packet magic header) — заголовок пакета UnderLoad
* '''H3''' (Underload packet magic header) — заголовок пакета UnderLoad


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


* AmneziaWG на Windows 8 и выше: [https://github.com/amnezia-vpn/amneziawg-windows-client/releases/download/1.0.2/amneziawg-amd64-1.0.2.msi https://github.com/amnezia-vрn/amneziawg-windows-client/releases/download/1.0.2/amneziawg-amd64-1.0.2.msi]
* AmneziaWG на Windows 7 и выше: https://github.com/amnezia-vpn/amneziawg-windows-client/releases
* На Windows 7: https://github.com/spvkgn/amneziawg-windows-client/releases/download/1.0.0-win7/amneziawg-amd64.zip
* На macOS и iOS: https://apps.apple.com/us/app/amneziawg/id6478942365
* На macOS и iOS: https://apps.apple.com/us/app/amneziawg/id6478942365
* На Linux: [https://github.com/amnezia-vpn/amneziawg-go https://github.com/amnezia-vрn/amneziawg-go] (проще установить AmneziaVРN)
* На Linux: https://github.com/amnezia-vpn/amneziawg-go (проще установить AmneziaVРN)
* На Android: [https://github.com/amnezia-vpn/amneziawg-android/releases/download/v1.1.2/AmneziaWG.apk https://github.com/amnezia-vрn/amneziawg-android/releases/download/v1.1.2/AmneziaWG.apk]
* На Android: https://play.google.com/store/apps/details?id=org.amnezia.awg
* AmneziaVPN (мультиплатформа): https://github.com/amnezia-vpn/amnezia-client/releases


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


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


=== Невозможно импортировать конфигурацию: Две запятые подряд: "," ===
=== Две запятые подряд: "," ===
По какой-то причине, конфиг сгенерировался неверно, удалите его, попробуйте перегенерировать снова другим способом. [[Cloudflare WARP|Гайд по генерации конфига]].
По какой-то причине, конфиг сгенерировался неверно, удалите его, попробуйте перегенерировать снова другим способом или скачайте уже рабочий. [[Cloudflare WARP|Гайд по генерации конфига]].


=== Невозможно импортировать конфигурацию: Название туннеля недействительно: "WARP (1)" ===
=== Название туннеля недействительно: "WARP (1)" ===
Переименуйте файл .conf, в нём не должно быть пробелов, скобок и других символов. Только английские буквы и цифры.
Переименуйте файл .conf, в нём не должно быть пробелов и скобок.


=== Невозможно импортировать конфигурацию: Неверный ключ для секции [Interface]: "s1" ===
=== Неверный ключ для секции [Interface]: "s1" ===
Импортировать конфиг WARP нужно не в WireGuard, а в AmneziaWG! Скачайте AmneziaWG по ссылкам выше!
Импортировать конфиг WARP нужно не в WireGuard, а в AmneziaWG! Скачайте AmneziaWG по ссылкам выше!
=== Неправильное имя ===
В мобильном приложении AmneziaWG названия конфигов могут иметь длину не более 15 символов, в ином случае происходит эта ошибка.
=== Включить обфускацию WireGuard ===
В случае если в конфиге отсутствуют значения S1 и S2, Amnezia VPN не даст подключиться к нему и предложит включить обфускацию. Приложение AmneziaWG умеет читать такие сломанные конфиги, но использовать их всё равно не рекомендуется.


=== Unable to create Wintun interface ===
=== Unable to create Wintun interface ===

Текущая версия от 19:06, 17 июня 2025

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

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

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

AmneziaWG работает в рамках обратной совместимости. То есть реализация AmneziaWG позволяет изменить некоторые статичные параметры в WireGuard, по которым этот протокол обычно и распознают системы DPI. Если не указывать эти параметры, протокол станет обычным 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 по ссылкам выше!

Неправильное имя

В мобильном приложении AmneziaWG названия конфигов могут иметь длину не более 15 символов, в ином случае происходит эта ошибка.

Включить обфускацию WireGuard

В случае если в конфиге отсутствуют значения S1 и S2, Amnezia VPN не даст подключиться к нему и предложит включить обфускацию. Приложение 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. Ссылки на скачивание тут.

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

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

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