Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Параметры Junk Packet в AmneziaWG (Jc, Jmin, Jmax, S1, S2, H1-H4): тюнинг

Обновлено: 14.09.2026  ·  Официальная база знаний

Симптомы блокировки WireGuard системами DPI

При использовании стандартного протокола WireGuard рукопожатие (Handshake) блокируется техническими средствами противодействия угрозам (ТСПУ / DPI). Соединение не устанавливается: отправленные пакеты растут (Sent packets), а принятые равны нулю (Received 0 B). Решением является переход на форк AmneziaWG с рандомизацией мусорных пакетов и заголовков.

Параметр AWGРасшифровкаРоль в обходе анализаторов DPI
Jc (Junk packet count)Количество мусорных пакетовВнедряет фиктивные пакеты перед handshake, сбивая сигнатурный анализ
Jmin / JmaxМинимальный / максимальный размер junkРандомизирует длину пакета, устраняя сигнатуру фиксированной длины WG
S1 / S2Размер смещения инициализации (Init / Response)Добавляет случайный шум к стандартным пакетам инициализации сессии
H1 — H4Кастомные заголовки сообщенийЗаменяет фиксированные типы сообщений WireGuard (0x01, 0x02, 0x03, 0x04)

Тонкая настройка конфигурационного файла AmneziaWG

Параметры обфускации должны быть абсолютно идентичными в секциях [Interface] клиента и сервера (за исключением кастомных настроек пиров).

  1. Пример эталонной конфигурации сервера (wg0.conf):
    [Interface]
    Address = 10.8.0.1/24
    ListenPort = 51820
    PrivateKey = SERVER_PRIVATE_KEY
    
    # Параметры обфускации AmneziaWG:
    Jc = 4
    Jmin = 40
    Jmax = 70
    S1 = 15
    S2 = 30
    H1 = 1284920194
    H2 = 3948572019
    H3 = 2938475012
    H4 = 4857392018
    
    [Peer]
    PublicKey = CLIENT_PUBLIC_KEY
    AllowedIPs = 10.8.0.2/32
  2. Пример клиентского конфига:
    [Interface]
    PrivateKey = CLIENT_PRIVATE_KEY
    Address = 10.8.0.2/32
    DNS = 1.1.1.1
    Jc = 4
    Jmin = 40
    Jmax = 70
    S1 = 15
    S2 = 30
    H1 = 1284920194
    H2 = 3948572019
    H3 = 2938475012
    H4 = 4857392018
    
    [Peer]
    PublicKey = SERVER_PUBLIC_KEY
    Endpoint = 203.0.113.10:51820
    AllowedIPs = 0.0.0.0/0
  3. Рекомендации по подбору значений:
    • Jc: держите в диапазоне 3–8. Слишком большое значение увеличивает задержку старта соединения (RTT latency).
    • Jmin и Jmax: задавайте в интервале от 10 до 100 байт.
    • S1 и S2: задавайте в интервале от 15 до 50 байт (но не более MTU).
    • H1-H4: генерируйте случайные положительные 32-битные целые числа (от 1 до 2147483647).

Внимание: Если значения заголовков H1-H4 на клиенте и сервере разойдутся хотя бы на одну цифру, рукопожатие не произойдет, и в логах клиента будет бесконечный статус «Handshake did not complete to peer».

Практический опыт инженера: Практика ITSTM: При смене порта прослушивания (ListenPort) используйте нестандартные порты UDP из диапазона 20000–50000, либо мимикрируйте под сетевые порты протоколов телефонии/игр (например, 3478 STUN), чтобы снизить вероятность эвристического троттлинга провайдером.

Частые вопросы (FAQ)

Почему стандартный WireGuard легко блокируется провайдерами?

WireGuard имеет строго фиксированный размер пакета инициализации (148 байт) и ответа (92 байта), а также неизменные первые 4 байта заголовка, что делает его детектирование тривиальным для систем DPI.

Влияют ли параметры обфускации на максимальную скорость передачи трафика?

Практически нет. Мусорные пакеты отправляются только в момент инициализации сессии и рекеинга (rekeying). Основной поток шифрованного трафика идет с нативной скоростью ядра WireGuard.

Что делать, если мобильный клиент AmneziaWG быстро разряжает аккумулятор?

Уменьшите значение Jc до 2 или 3 и увеличьте интервал PersistentKeepalive до 25 секунд.

Поддерживает ли официальный клиент WireGuard конфиги с параметрами Jc/S1/H1?

Нет. Стандартный клиент WireGuard выдаст синтаксическую ошибку при разборе неизвестных директив. Необходимо использовать форк-клиент AmneziaWG.