Выполняйте шаги последовательно и сохраняйте резервную копию. Названия пунктов могут незначительно отличаться в разных версиях прошивки.
Почему именно AmneziaWG, а не обычный WireGuard
Обычный WireGuard создаёт пакеты с узнаваемой сигнатурой: фиксированная длина заголовка, характерные значения полей и предсказуемый паттерн handshake. Системы DPI на стороне провайдера учатся распознавать такие пакеты по статистическим признакам, даже если содержимое зашифровано, и после этого либо режут скорость туннеля, либо блокируют его полностью.
AmneziaWG добавляет к протоколу набор параметров Jc, Jmin, Jmax, S1, S2, H1-H4, которые меняют структуру пакетов: добавляют мусорные данные перед handshake, изменяют заголовки и убирают типичные маркеры WireGuard. Для конечного пользователя это выглядит как обычный зашифрованный трафик без явной привязки к конкретному протоколу VPN.
На Keenetic это особенно актуально, потому что многие модели работают за провайдерами с активной DPI-фильтрацией, и обычный WireGuard-профиль там либо не поднимается, либо работает нестабильно с постоянными обрывами handshake. Переход на AmneziaWG в такой ситуации часто решает проблему без смены провайдера или тарифа.
Что понадобится перед настройкой
Проверьте, что модель получает обновления KeeneticOS и на встроенном хранилище или флеш-накопителе достаточно места для дополнительных компонентов. Для установки WireGuard-совместимого модуля обычно требуется системный диск USB или достаточный объём внутренней памяти в зависимости от модели.
Сохраните резервную копию конфигурации роутера до любых изменений — это позволит быстро откатиться, если что-то пойдёт не так во время установки компонентов или импорта профиля. Экспорт делается в веб-интерфейсе в разделе управления системой буквально за один клик.
Заранее получите от администратора сервера или из панели самостоятельно поднятого AmneziaWG-сервера готовый профиль клиента: приватный ключ, публичный ключ сервера, адрес интерфейса, endpoint и, что важно для AmneziaWG, комплект параметров обфускации Jc/Jmin/Jmax/S1/S2/H1-H4. Без этих параметров туннель не поднимется либо будет несовместим с сервером.
Убедитесь, что дата и время на роутере синхронизированы через NTP: рассинхронизация часов — частая причина, по которой handshake не проходит даже при абсолютно верной конфигурации.
- 1Обновите KeeneticOS до последней стабильной версии.
- 2Экспортируйте системный файл конфигурации в веб-интерфейсе.
- 3Получите готовый профиль AmneziaWG с адресом, ключами, endpoint и параметрами обфускации.
- 4Подключитесь к панели управления по кабелю или из локальной сети для стабильности во время настройки.
Не публикуйте приватный ключ и параметры обфускации из конфигурации: вместе они дают полный доступ к вашему туннелю.
Нужны параметры без ручного подбора?
Получите готовый профиль для своего роутера — ключи, endpoint и параметры обфускации уже заполнены.
Получить готовую конфигурациюУстановка компонента и импорт профиля
В разделе обновления компонентов Keenetic откройте вкладку с дополнительными пакетами и установите поддержку WireGuard/AmneziaWG — на части моделей она называется отдельным компонентом, на других идёт в комплекте с общим модулем VPN-клиента. После установки роутер предложит перезагрузку — соглашайтесь, без неё новый модуль не активируется.
После перезапуска откройте раздел «Другие подключения», создайте новое соединение типа WireGuard и вручную перенесите параметры из готового профиля: приватный ключ, адрес интерфейса, DNS-серверы и MTU. Если веб-интерфейс Keenetic пока не поддерживает поля обфускации напрямую, эти параметры добавляются через импорт файла конфигурации или через командную строку CLI роутера.
Обратите внимание на формат вставляемых ключей: это base64-строки без переносов строк и лишних пробелов. Одна случайно скопированная лишняя буква или обрезанный символ — и туннель не поднимется без явной ошибки, просто будет пустой handshake.
[Interface]
PrivateKey = <ваш-приватный-ключ>
Address = 10.8.0.2/32
DNS = 1.1.1.1
MTU = 1380
Jc = 4
Jmin = 40
Jmax = 70
S1 = 0
S2 = 0
H1 = 1
H2 = 2
H3 = 3
H4 = 4
[Peer]
PublicKey = <ключ-сервера>
Endpoint = server.example:443
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25Значения Jc/Jmin/Jmax/H1-H4 должны точно совпадать с настройками сервера — это не произвольные числа, а согласованный набор параметров обфускации.
Как подобрать MTU без догадок
Слишком большой MTU даёт зависающие сайты, обрывы видеозвонков и рваную загрузку страниц из-за фрагментации пакетов на промежуточных узлах. Слишком маленький MTU работает стабильно, но увеличивает накладные расходы на каждый пакет и слегка снижает полезную скорость соединения.
Начните с 1380 — это разумная стартовая точка для большинства связок AmneziaWG поверх обычного PPPoE или IPoE подключения. Затем последовательно уменьшайте размер тестового пакета в ping, пока не перестанете получать ошибки фрагментации, и уже от найденного значения отталкивайтесь при финальной настройке интерфейса.
Дополнительный источник накладных расходов у AmneziaWG — заголовки обфускации, которые чуть увеличивают итоговый размер пакета по сравнению с чистым WireGuard. Поэтому если у вас уже был подобран MTU для обычного WireGuard, для AmneziaWG стоит взять то же значение минус 10-20 байт про запас.
Если провайдер использует PPPoE, учитывайте дополнительные 8 байт служебного заголовка PPPoE поверх Ethernet — это ещё одна причина, по которой универсального «правильного» MTU не существует и его нужно подбирать именно под вашу связку провайдер + сервер.
- 1Установите MTU интерфейса 1420 и запустите тест с флагом запрета фрагментации.
- 2Уменьшайте размер пакета шагом 10-20 байт, пока фрагментация не исчезнет.
- 3К найденному размеру полезной нагрузки прибавьте 28 байт заголовков IPv4/ICMP.
- 4Пропишите итоговое значение в интерфейс AmneziaWG на роутере и перезапустите соединение.
# Linux / macOS: уменьшаем 1352, пока ответы не станут стабильными
ping -D -s 1352 1.1.1.1
# Windows: флаг запрета фрагментации
ping 1.1.1.1 -f -l 1352К найденному размеру полезной нагрузки добавьте 28 байт заголовков IPv4. Для нестабильных мобильных или спутниковых каналов оставьте дополнительный запас 20–40 байт.
Тонкая настройка параметров обфускации
Параметры Jc (junk packet count), Jmin и Jmax задают количество и размер мусорных пакетов перед основным handshake. Чем больше значение Jc, тем сложнее DPI распознать паттерн, но тем выше задержка установления соединения — для домашнего роутера обычно достаточно значений 3-8 без ощутимого замедления.
H1-H4 переопределяют магические числа в заголовках пакетов handshake, initiation, response и cookie reply. Эти четыре числа должны быть уникальными и совпадать один в один между клиентом и сервером — если сервер настроен одним набором, а клиент использует значения по умолчанию, туннель просто не поднимется без явного текста ошибки.
Если провайдер режет именно обычный WireGuard, а после переноса на AmneziaWG с параметрами по умолчанию туннель всё ещё нестабилен, попробуйте увеличить Jmin/Jmax и добавить S1/S2 — эти параметры добавляют случайный сдвиг размеру самого первого пакета инициации, что дополнительно ломает сигнатурный анализ.
Получить готовый конфиг
Если не хотите собирать профиль вручную, возьмите готовую конфигурацию и продолжайте инструкцию с шага импорта.
Получить готовую конфигурациюМаршрутизация и выборочный обход DPI
Создайте отдельную политику доступа и добавьте в неё телевизор, консоль и нужные домашние устройства, если не хотите заворачивать в туннель весь дом целиком. Назначьте туннель основным подключением для этой политики, а прямой канал провайдера — резервным, чтобы при обрыве VPN устройства не остались совсем без интернета.
Для устройств, которым важна низкая задержка — например, игровых консолей, — иногда разумнее оставить прямое подключение и завернуть в туннель только браузер и стриминговые сервисы на других устройствах, поскольку любой туннель добавляет объективную задержку в 5-20 мс.
Параметры обфускации AmneziaWG уже должны находиться в выданном профиле; не подбирайте их случайным образом методом проб — рассинхронизация даже одного параметра с сервером полностью ломает соединение, а диагностировать это на глаз почти невозможно.
- 1Включите туннель и дождитесь появления ненулевых счётчиков RX/TX.
- 2Создайте политику доступа «Через AmneziaWG» в разделе управления интернет-фильтрами.
- 3Добавьте нужные устройства по постоянным DHCP-адресам, а не по MAC вручную каждый раз.
- 4Укажите туннель первым приоритетом, подключение провайдера — вторым резервным.
- 5Проверьте внешний IP и отсутствие DNS-утечек на каждом добавленном устройстве.
DNS и защита от утечек
Даже при поднятом и рабочем туннеле устройство может продолжать слать DNS-запросы напрямую через провайдера, если DNS-сервер не переопределён внутри профиля или в настройках самого устройства. Это классическая DNS-утечка, которая частично раскрывает посещаемые ресурсы, даже если сам трафик идёт через VPN.
Пропишите DNS в блоке Interface профиля AmneziaWG на надёжный публичный резолвер, а на уровне роутера дополнительно заблокируйте исходящий DNS-трафик (порт 53) в обход туннеля для устройств из вашей политики маршрутизации. Это гарантирует, что резолвинг доменов всегда пойдёт через защищённый канал.
Проверка и устранение неполадок
Счётчики RX/TX должны расти в обе стороны в течение нескольких секунд после включения интерфейса. Если handshake есть, но сайты не открываются, последовательно проверьте AllowedIPs, корректность DNS и величину MTU — именно в таком порядке, поскольку это три самые частые причины.
При полном отсутствии handshake сверяйте время роутера через NTP, правильность endpoint (адрес и порт), совпадение публичного ключа сервера и, отдельно для AmneziaWG, точное совпадение параметров обфускации на обеих сторонах туннеля.
Полезно временно включить логирование соединения на роутере или проверить состояние туннеля через CLI командой show interface wireguard0 — там видно последний успешный handshake и объём переданных данных, что сразу подсказывает, на каком этапе рвётся связь.
Обслуживание туннеля после настройки
После стабилизации соединения раз в несколько недель проверяйте, что счётчик handshake не «залипает» на старой временной метке — это признак того, что туннель формально считается активным, но фактически не переустанавливает сессию. Обычно помогает обновление прошивки роутера и сервера до совместимых версий.
Если провайдер меняет маршрут или тип DPI-фильтрации, ранее рабочий набор параметров обфускации может перестать работать. В этом случае стоит запросить у администратора сервера обновлённый профиль с другими значениями Jc/Jmin/Jmax, а не пытаться подбирать их вслепую на стороне клиента.
Частые вопросы
Готовы подключить роутер?
Возьмите готовую конфигурацию и используйте эту инструкцию для установки и проверки.
Получить готовую конфигурациюПродолжите настройку
Все руководства — настройка роутеров, MTU, DNS и устройств.