AmneziaWG: различия между версиями
-_0 |
Нет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 9: | Строка 9: | ||
* Работает по сетевому протоколу UDP. | * Работает по сетевому протоколу UDP. | ||
AmneziaWG работает в рамках обратной совместимости. То есть реализация AmneziaWG позволяет изменить некоторые статичные параметры в WireGuard, по которым этот протокол обычно и распознают системы DPI. | 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 отправляет некоторое количество “мусорных” пакетов, чтобы | В реализации AmneziaWG предусмотрен и еще один трюк для более надежной маскировки. Перед началом сессии AmneziaWG отправляет некоторое количество “мусорных” пакетов, чтобы окончательно запутать системы DPI. Количество таких пакетов и их минимальный и максимальный размер в байтах тоже задается в настройках, параметрами Jc, Jmin и Jmax. | ||
== Параметры файла конфигурации AmneziaWG == | == Параметры файла конфигурации AmneziaWG == | ||
Строка 36: | Строка 36: | ||
== Приложения AmneziaWG == | == Приложения AmneziaWG == | ||
Подключаться к VРN-серверу по конфигурационному файлу AmneziaWG можно в приложении [[AmneziaVРN | Подключаться к VРN-серверу по конфигурационному файлу AmneziaWG можно в приложении [[AmneziaVРN]] и в одноименном приложении AmneziaWG. | ||
* AmneziaWG на Windows | * AmneziaWG на Windows 7 и выше: https://github.com/amnezia-vpn/amneziawg-windows-client/releases | ||
* На macOS и iOS: https://apps.apple.com/us/app/amneziawg/id6478942365 | * На macOS и iOS: https://apps.apple.com/us/app/amneziawg/id6478942365 | ||
* На Linux: | * На Linux: https://github.com/amnezia-vpn/amneziawg-go (проще установить AmneziaVРN) | ||
* На Android: | * На 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/ |
Текущая версия от 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.
- AmneziaWG на Windows 7 и выше: https://github.com/amnezia-vpn/amneziawg-windows-client/releases
- На macOS и iOS: https://apps.apple.com/us/app/amneziawg/id6478942365
- На Linux: https://github.com/amnezia-vpn/amneziawg-go (проще установить AmneziaVРN)
- На 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/
Частые ошибки в приложениях 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 от имени администратора:
- Удалите AmneziaWG в "Программах и компонентах"
- Скопируйте полный путь к .msi файлу установщика AmneziaWG. Для этого удерживая Shift нажмите правой кнопкой мыши по нему -> Копировать как путь
- Откройте Командную строку от имени администратора
- Вставьте в командную строку скопированный путь, просто нажав по ней правой кнопкой мыши, нажмите Enter
Таким образом, msi файл будет открыт от имени администратора, возможно, это решит проблему.
Решение 2: Удаление драйвера wintun:
- Удалите AmneziaWG в "Программах и компонентах"
- Откройте Командную строку от имени администратора
- Выполните команды:
dism /online /get-drivers /format:table > drivers.txt notepad drivers.txt
- Найдите wintun.inf, нам нужен его oem-номер. В моём случае это oem7.inf:
- Выполните команду для его удаления:
pnputil.exe /d oem7.inf
![]() |
Вместо 7 подставьте номер, который соответствует wintun.inf в вашем блокноте! |
- Скопируйте полный путь к .msi файлу установщика AmneziaWG. Для этого удерживая Shift нажмите правой кнопкой мыши по нему -> Копировать как путь
- Вставьте в командную строку скопированный путь, просто нажав по ней правой кнопкой мыши, нажмите Enter. Установите AmneziaWG.
Решение 3: AmneziaVРN вместо AmneziaWG
Приложение AmneziaVРN полностью поддерживает конфиги протокола AmneziaWG. Ссылки на скачивание тут.
Не работают соединения к локальной сети
Откройте конфигурационный файл для редактирования:
Уберите галочку "Блокировать нетуннелированный трафик"