Вопросы и решения

Частые вопросы и типичные проблемы, сгруппированные по темам. Инструкции по функциям — в Руководстве. Если проблема не нашлась здесь — запустите Проверки и загляните в Журнал.

Установка и доступ к интерфейсу

Connection refused при заходе в UI

  • Сервис ещё не поднялся — подождите 10–20 секунд
  • Проверить, что сервис запущен: /opt/etc/init.d/S99awg-manager status
  • Узнать порт и интерфейс, на котором слушает сервис: cat /opt/etc/awg-manager/settings.json, поля port и interface

Не помню, на каком порту awg-manager

В SSH на роутере:

cat /opt/etc/awg-manager/settings.json

Поле port в JSON. По умолчанию — 2222.

Ошибки авторизации

По умолчанию интерфейс открыт без авторизации. Если вы включили её в Настройках:

  • используются учётные данные администратора Keenetic — те же, что для входа в веб-интерфейс роутера;
  • если не подходят — сначала проверьте, что можете войти в веб-интерфейс роутера напрямую;
  • после 5 неудачных попыток с одного IP вход блокируется на 30 секунд.

Забыт пароль администратора Keenetic

Он же используется для входа в awg-manager. Если остался доступ по SSH:

ndmc -c user admin password plain НОВЫЙ_ПАРОЛЬ
ndmc -c system configuration save

Слишком простые пароли Keenetic отклоняет.

Не открывается встроенный терминал

Терминал awg-manager работает через ttyd, а не через SSH:

  • если ttyd не установлен, страница предложит установить его — нужен доступ к репозиторию Entware;
  • одновременно открыт может быть только один сеанс: закройте терминал в другой вкладке или браузере и повторите попытку.

Как удалить интерфейсы OpkgTun, если их не видно в «Других подключениях»

Откройте веб-конфигуратор роутера и нажмите значок «шестерёнки» (командная строка). Введите no interface OpkgTun, нажмите TAB, выберите нужный интерфейс и нажмите Enter.

Чтобы понять, какому подключению соответствует OpkgTun, выполните там же show interface OpkgTun, нажмите TAB и выберите интерфейс — в ответе будет информация о подключении и его описание.

Туннели

Отличие AWG 1.0 / 1.5 / 2.0 / 3.0 / 3.1

  • AWG 1.0 — базовая обфускация: junk-пакеты + padding + заголовки (Jc, Jmin, Jmax, S1–S4, H1–H4)
  • AWG 1.5 — добавляет мимикрию под QUIC/DTLS/STUN/DNS через signature-пакеты (I1–I5)
  • AWG 2.0 — рандомизирует заголовки (H1–H4 задаются диапазонами, генерируются на каждом хендшейке)
  • AWG 3.0 — шифрует заголовок WireGuard целиком (HeaderProtectionKey), добавляет паддинг полезной нагрузки и делает диапазонами базовые тайминги протокола, чтобы соединение не выдавало себя ритмом. Настраивается в awg-manager — см. AmneziaWG 3.0
  • AWG 3.1 — два дополнительных параметра (disable_cokkie, randomtrailers): первый заставляет сервер никак не отвечать на запросы на порту, где он работает, второй добавляет случайные байты к каждому пакету, чтобы их было сложнее вычислить по паттернам. Amnezia 3.1
Обратной совместимости между версиями протокола нет: к серверу AWG 2.0 не подключится клиент AWG 1.0, а к серверу AWG 3.0 — клиенты AWG 1.0/2.0.

Статус broken («Сломан»)

Туннель поднялся, но awg-manager обнаружил проблему (упал процесс, не установилась связь и т.п.). Индикатор оранжевый, подпись на карточке — Сломан.

  1. Журнал — Инструменты → Журнал, поиск по имени туннеля
  2. Проверки — Инструменты → Проверки, группа этого туннеля: особенно «Handshake свежий» и «Связность через туннель» (см. Проверки)
  3. Конфигурация — Изменить на карточке: ключи, endpoint, параметры обфускации

Туннель запущен, но трафик не идёт

  • Кнопка «Тест» на карточке → Дополнительные проверки → Проверка IP. Если IP не меняется — трафик не уходит через туннель (см. Тест)
  • Параметры обфускации (вкладка Обфускация в редакторе): S1–S4 и H1–H4 должны совпадать с сервером, иначе пакеты отправляются, но сервер их отбрасывает (см. Управление туннелями)
  • AllowedIPs — если не 0.0.0.0/0, убедитесь, что нужные подсети перечислены
  • Устройство использует свой DNS — при DoH/DoT в браузере DNS-правила не сработают (см. DNS-маршрутизация — условия)

Связь пропадает через несколько минут

Типично для NAT-провайдеров. Решение — периодический keepalive:

  • в поле Keepalive (редактор → вкладка Основное → секция Сервер) выставьте 25 секунд;
  • если не помогает, включите Мониторинг — туннель будет автоматически перезапускаться при падении связности.

«Адрес нельзя изменить для запущенного туннеля в режиме kernel»

Сообщение в редакторе. Остановите туннель (тумблер на карточке), внесите правку, запустите снова.

Высокое значение «пинга» на карточке туннеля

Скорее всего, это не ping. По умолчанию на карточке показывается время HTTP-запроса через туннель (метод HTTP 204) — оно ближе к реальной задержке при работе в интернете и заметно больше ICMP. Метод меняется шестерёнкой рядом со значением — например, на Ping IP (см. Проверка связности).

Серверы

Клиент не подключается к серверу на роутере

  • Внешний адрес. У роутера должен быть белый IP или доменное имя, указывающее на него (например, KeenDNS с прямым доступом). За NAT провайдера подключиться снаружи не получится.
  • Endpoint в конфиге — проверьте, что в .conf клиента правильный адрес и порт (откуда он берётся). Если роутер за другим роутером — пробросьте UDP-порт сервера.
  • Обфускация. Если у сервера включены ASC-параметры, клиент должен использовать совместимое приложение — например, AmneziaWG, WG Tunnel или другое с поддержкой AmneziaWG, — а не обычный WireGuard.
  • Конфиг устарел. После смены адреса, порта, Endpoint, ASC-параметров, AllowedIPs или сигнатуры клиенту нужен новый конфиг — скачайте его заново.

Клиент подключился, но нет интернета или доступа к домашней сети

  • Интернет — проверьте режим NAT: в режиме Без NAT выхода в интернет нет. Если включена маршрутизация через sing-box, интернет зависит от того, запущен ли sing-box.
  • Домашняя сеть — у управляемого сервера нужно выбрать сегменты в Доступе в LAN.

Маршрутизация

DNS-правила не срабатывают

Проверьте по порядку:

  1. Устройство в «Политике по умолчанию» — веб-интерфейс роутера → Приоритеты подключений. Если устройство в другой политике, DNS-маршруты на него не распространяются (актуально для Keenetic OS 5.1 и старее)
  2. В качестве DNS на устройстве указан роутер — не 8.8.8.8, не 1.1.1.1, не DoH/DoT в браузере. Проверить это можно в Проверках: «Резолв через клиентский DNS»
  3. Туннель запущен — если туннель в stopped или broken, NDMS не может применить маршрут
  4. Правило включено (тумблер на карточке правила)
  5. Keenetic OS версии 5.x — на OS 4.x вкладки NDMS нет, используйте Маршрутизацию по IP

Подробнее — DNS-маршрутизация — обязательные условия.

Ресурс не открывается, хотя все его домены добавлены в маршрутизацию

Не все сервисы работают только по доменным именам: многие клиенты обращаются к заранее известным IP-адресам напрямую. Добавьте сервис из готовых списков (пресетов) — в них есть и IP-диапазоны. Куда на самом деле уходит трафик, покажет вкладка Соединения.

После обновления awg-manager не работает маршрутизация в HR Neo / NDMS

awg-manager не маршрутизирует трафик сам — он настраивает соответствующие системы маршрутизации. Начните с журналов движка маршрутизации, которым пользуетесь.

Не используйте систему маршрутизации, предложенную производителем роутера (NDMS-маршрутизацию), — она не является стабильным решением. Альтернативы — в разделе Как выбрать маршрутизацию.

Не работают российские сервисы (nalog.ru, умный дом и т.п.)

Ряд сервисов для пользователей в РФ (личный кабинет ФНС и другие) перестают работать, когда роутер использует зарубежные DNS (Google 8.8.8.8, Cloudflare 1.1.1.1 и т.п.): эти сервисы отдают IP в зависимости от страны DNS-резолвера.

Решение — для проблемного домена использовать DNS без гео-проверки (Yandex 77.88.8.8, NextDNS и другие).

Через веб-интерфейс Keenetic: Интернет-фильтры → для конкретного домена указать Yandex.DNS.

Или через CLI роутера (http://my.keenetic.net/a):

ip name-server 77.88.8.8 lkfl2.nalog.ru
system configuration save

Через Entware (SSH):

ndmc -c ip name-server 77.88.8.8 lkfl2.nalog.ru
ndmc -c system configuration save

(Замените домен на нужный.)

HR Neo — тег отключён (oversized)

Раздел HR NEO → служебный блок Отключённые теги. Возникает, когда количество записей в теге превысило лимит maxelem ipset. Решение — использовать более узкий тег (не пытайтесь маршрутизировать весь мир).

VPN для устройств не применяется

  • Статический IP — устройству должен быть назначен статический IP в DHCP-резервациях роутера. Правило привязано к IP; при смене адреса оно теряет цель
  • Туннель запущен — если туннель упал и выбран fallback Блокировать (Kill Switch), трафик устройства блокируется (это ожидаемо)

Как пустить весь трафик самого роутера через туннель?

Готовый скрипт и разбор: Трафик самого роутера через туннель.

Sing-box

Sing-box не работает

  • Проверьте, что установлен компонент Netfilter (см. Sing-box Router → Движок sing-box)
  • Проверьте, что движок Sing-box Router включён (панель Движок sing-box)
  • После любых изменений в конфигурации нажмите Применить — без этого правила не активируются
  • С 2.16.0 упавший процесс sing-box перезапускается автоматически; панель движка показывает «Падений за 10 мин» и причину последнего падения (например, нехватку памяти). Если счётчик растёт — смотрите причину и журнал, а не только жмите «Перезапустить»

Sing-box не стартует после настроек

Смотрите логи запуска — они есть в двух местах:

  • плитка движка — при неуспешном запуске показывает ошибки уровня FATAL, которые не дали процессу стартовать;
  • журнал sing-box — вкладка Логи движка (TProxy) или Журнал (FakeIP).
Чаще всего ошибка — в remote-наборах rule_set, до которых нет доступа. Выберите для набора настройку Скачивать через — интерфейс, через который ресурс доступен.

Правила с наборами из каталога не срабатывают

До 2.16.0 наборы каталога скачивались с raw.githubusercontent.com, который заблокирован у части российских провайдеров: sing-box молча не мог получить remote-набор, и правила маршрутизации/DNS с ним не работали. С 2.16.0 наборы каталога раздаются через зеркало repo.hoaxisr.ru/rulesets; существующие установки мигрируются на зеркало автоматически при старте — достаточно обновить awg-manager. Для наборов, добавленных вручную по URL на GitHub, по-прежнему поможет параметр Скачивать через (скачивать набор через туннель).

Не могу подключиться по VLESS Reality к своему серверу

Начиная с версии 3.5.0 3X-UI и Xray 26.7.11 принудительно отсекают клиентов, использующих sing-box/mihomo. Решение — в разделе inbound задать минимальную версию клиентов 1.8.1 или 1.0.0: параметр minClientVersion на вкладке Security соответствующего inbound в панели 3X-UI.

С sing-box версии 1.14.0-awgm.16 и выше эта настройка в 3X-UI больше не требуется.

Я использую сжатый через UPX sing-box, и awg-manager предлагает его обновить

awg-manager пока не рассчитан на подмену бинарного файла sing-box: обновление бинарника, сжатого UPX, не поддерживается. Поддержку планируется добавить.

Мониторинг

Нужен ли компонент ping-check в прошивке?

Только для NativeWG-туннелей — их мониторинг делает сам Keenetic, и ему нужен этот компонент. Kernel-туннели используют собственный механизм awg-manager и работают без него.

Если компонента нет, на вкладке Инструменты → Мониторинг будет предупреждение «Компонент pingcheck не установлен». Установка: веб-интерфейс роутера → Управление → Общие настройки → Изменить набор компонентов → ping-check.

Туннель NativeWG не перезапустился после потери связи

  • В журнале роутера найдите строку «giving up» для соответствующего WireGuard-подключения
  • Это штатное поведение прошивки роутера, исправить его со стороны awg-manager нельзя. В частности, встроенный ping-check может молча не «поднять» туннель, если endpoint задан доменным именем
  • Альтернатива: использовать туннель типа Kernel

Туннель постоянно перезапускается

  • Слишком строгий порог сбоев — увеличьте Максимум сбоев / Порог ошибок, чтобы кратковременные провалы не приводили к рестарту
  • Проверка через заблокированную цель — если ICMP 8.8.8.8 блокируется сервером VPN, выберите другую цель или метод (например, TLS 1.1.1.1:443)
  • Сам туннель нестабилен — смотрите журнал и проверки и исправьте корневую причину

См. также Мониторинг.

Обслуживание роутера

Форматирование накопителя Entware

Нужно, когда Entware не ставится, накопитель числится «занятым» или требуется начать с чистого листа.

Все данные на накопителе будут стёрты. Если на нём уже есть рабочий Entware — сначала сделайте бэкап.

Способ ниже работает только со встроенной памятью роутера (storage:). USB-флешку форматируйте на компьютере в ext4.

  1. Откройте WebCLI роутера: http://192.168.1.1/a
  2. Отключите все активные сессии Telnet/SSH — иначе накопитель останется занят
  3. Выполните команды по одной:
opkg no disk
no system mount storage:
erase storage:
system mount storage:

После этого поставьте Entware заново — см. Установка.

Бэкап Entware

Полезно перед форматированием, сменой накопителя или рискованными экспериментами: сохраняет весь /opt одним архивом.

Через FlashKeen (рекомендуется):

opkg update || true; opkg install curl || true; curl -fsSL https://raw.githubusercontent.com/miha75vu-bit/Flashkeen/main/install.sh | sh

Через tar:

opkg install tar
tar --exclude='backup-*.tar.gz' --exclude=var/run -czvf /opt/backup-$(date -I).tar.gz -C /opt .

Восстановление: положите архив в папку install на накопителе, в разделе OPKG выберите этот носитель и дождитесь распаковки.

Отдельно от Entware настройки самого awg-manager выгружаются через API — см. Бэкап по расписанию. Серверы WireGuard с ключами можно сохранить и из интерфейса — Резервная копия серверов.

Кончилось место в /opt

Исполняемые файлы Entware можно сжать UPX:

opkg install upx
find /opt/bin /opt/sbin /opt/usr/bin /opt/libexec -type f -executable -exec upx --lzma --best {} +

Сжатый бинарь распаковывается в память при каждом запуске — старт чуть медленнее, расход RAM чуть выше. После обновления пакета файл заменяется несжатым, и прогон придётся повторить. Перед массовым сжатием сделайте бэкап Entware. Сжатый sing-box awg-manager обновлять не умеет — см. выше.

Журнал, API и обратная связь

Как посмотреть логи awg-manager?

Инструменты → Журнал (см. Журнал). Кнопка Копировать копирует отфильтрованные записи в буфер обмена, Скачать — в файл.

Журнал хранится в памяти — отдельного файла на диске нет, после перезапуска сервиса предыдущие записи теряются.

Есть ли API?

Да, awg-manager предоставляет HTTP REST API на том же порту, что веб-интерфейс (см. API awg-manager).

Как сообщить о проблеме

  • GitHub Issues — основной трекер. Предложения новых функций — туда же, с меткой enhancement: опишите сценарий использования и ожидаемое поведение
  • Быстрее всего: Инструменты → Проверки → Запустить все проверки → Инцидент. awg-manager скачает отчёт, скопирует заготовку текста и откроет страницу нового issue (см. Отчёт и инцидент)
  • Что ещё приложить:
    1. версию awg-manager — вверху интерфейса;
    2. модель Keenetic и версию OS — Системный монитор в веб-интерфейсе роутера (или Инструменты → Окружение → Скопировать данные);
    3. последние 100 строк журнала — Инструменты → Журнал → Копировать;
    4. шаги воспроизведения.

Перед публикацией уберите из отчёта и журнала ключи и адреса — issue на GitHub публичный.

Полезные внешние ресурсы

Готовые списки доменов и IP

Альтернативные клиенты

  • wgtunnel — альтернативный WireGuard + AmneziaWG клиент для Android

Генерация параметров обфускации

Свой сервер AmneziaWG

Диагностика и сетевые инструменты