Amnezia - новый метод обхода блокировок через протокол AmneziaWG - 2023
Amnezia - новый метод обхода блокировок через протокол AmneziaWG - 2023
AmneziaWG - новый протокол, созданный разработчиками AmneziaVPN основанный на wireguard + модифицированном клиенте AmneziaVPN. А именно в клиенте зашиты такие техники обхода:
- перед установкой соединения отправляет мусорные пакеты с рандомными данными - сам пакет установки соединения тоже содержит некоторое кол-во мусорных байтов - заголовки пакетов изменены.
AmneziaWG (AmneziaWireGuard) - это форк обычного WireGuard-Go с добавлением функций для обхода блокировок и снижения вероятности обнаружения протокола. Одной из ключевых особенностей AmneziaWG является обратная совместимость с WireGuard. Это означает, что при использовании AmneziaWG, если в конфигурации не указаны специфические параметры для обфускации протокола, он будет работать как стандартный WireGuard. В чем особенность? Перед началом сессии клиент отправляет несколько пакетов со случайными данными (количество таких пакетов Jc и их минимальный и максимальный размер в байтах Jmin, Jmax задается в конфиге) Изменен заголовок пакета рукопожатия (Initiator to Responder), и ответного пакета (Responder to Initiator), эти значения также выставляются в конфиге (H1 и H2) Инит-пакеты рукопожатия дополнительно имеют мусор в начале данных, размеры определяются значениями S1 и S2. (по умолчанию инициирующий пакет рукопожатия имеет фиксированный размер (148 байт), после добавления мусора его размер будет равен 148 + длина случайных байтов). Изменен заголовок пакетов с данными и специальных пакетов “Under Load” - H4 и H3 соответственно. Ещё раз подробно о новых настраиваемых полях: 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 Как вы можете догадаться, заголовки H1, H2, H3, H4 должны быть разными. Если выставить Jc, S1 и S2 в нули, то и мусора не будет.
Подтвержденной информации о блокировке AWG еще не поступало, сигнатуры у него нет, а для его блокировки нужно будет блокировать весь неопознанный UDP-трафик
Информация от разработчиков:
Стабильно, скорость достойная, просадки либо минимальные по скорости, либо их вообще нет, в РФ и некоторых других странах работает (более широкие тесты будут после полноценного релиза на всех платформах)
Скачать клиенты AmneziaVPN 4.0.8 - Pre-release (AmneziaVPN 4.0.8 with new UI and new VPN protocol AmneziaWG) под все ОС:
https://github.com/amnezia-vpn/amnezia-client/releases/tag/4.0.8
Новые версии клиентов - отслеживать можно тут
https://github.com/amnezia-vpn/amnezia-client/releases
Для Windows скачиваем и устанавливаем приложение:
https://github.com/amnezia-vpn/amnezia-client/releases/download/4.0.8/AmneziaVPN_4.0.8.5_x64.exe
На сервере должна стоять чистая ОС Ubuntu 20.04:
После покупки заказа - Вам будет выдан root пароль и сам IP сервера.
Запускаем приложение и выбираем "У меня есть данные для подключения":
Далее нажимаем "Настроить Ваш сервер":
Далее вводим IP сервера, root логин и пароль от root --> Нажимаем "Продолжить":
Далее нажимаем "Настроить VPN самостоятельно - Выбрать VPN протокол" --> Нажимаем "Продолжить"::
Далее выбираем AMNEZIAWG протокол:
Оставляем порт без изменений в примере 55424 и нажимаем "Установить":
Ожидаем установку AMNEZIAWG, которая длится до 5 минут:
УСТАНОВКА ЗАВЕРШЕНА. Нажимаем Подключиться кнопку и проверяем свой новый IP через https://2ip.ru/ и скорость через https://www.speedtest.net/:
На сервере будет установлен контейнер docker - amnezia-awg:
~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6407fd56beca amnezia-awg "dumb-init /opt/amne…" 44 seconds ago Up 43 seconds 0.0.0.0:55424->55424/udp, :::55424->55424/udp amnezia-awg
Удалить контейнер можно вручную по ssh командой с флагом -f (force):
# docker rm 6407fd56beca -f
Включить дебаг логи клиента AmneziaVPN можно через кнопку "Настройки" --> "Приложение":
Логирование --> Сохранить логи:
Сами логи будут писаться в файл
C:\Users\ВАШ_ЮЗЕР\AppData\Roaming\AmneziaVPN.ORG\AmneziaVPN\log\AmneziaVPN.log