Пакет kmod-amneziawg в формате .ipk — это модуль ядра, который добавляет поддержку протокола AmneziaWG в роутер под управлением OpenWrt, и без него интерфейс AmneziaWG просто не создаётся, даже если установлены userspace-утилиты. Чаще всего пользователь сталкивается с ошибкой Unknown package 'kmod-amneziawg' при попытке установить его через opkg install — это значит, что пакет отсутствует в официальном репозитории вашей версии прошивки и его нужно ставить вручную из отдельного IPK-файла.
AmneziaWG — это форк WireGuard с обфускацией заголовков, разработанный для работы в сетях, где стандартный WireGuard блокируется системами DPI. В этой статье разберём, из чего состоит пакет, как подобрать правильную версию под вашу прошивку, как установить IPK вручную и что проверить, если модуль не загружается.
Что такое kmod-amneziawg и зачем нужен IPK-пакет
Префикс kmod в имени пакета означает модуль ядра Linux. В отличие от обычных программ, такие модули загружаются непосредственно в ядро системы и жёстко привязаны к его версии и сборке. Именно поэтому kmod-пакеты нельзя свободно переносить между разными прошивками — подробнее об этом ниже.
Формат IPK — это пакетный формат менеджера opkg, который используется в OpenWrt. По сути, это архив с бинарными файлами, скриптами установки и метаданными о зависимостях. Установка выполняется одной командой, после чего модуль появляется в системе.
Для полноценной работы AmneziaWG на роутере обычно требуется связка компонентов:
- 🔧 kmod-amneziawg — модуль ядра, реализующий сам протокол;
- 🛠 amneziawg-tools — утилиты командной строки для управления интерфейсом и ключами;
- 🖥 luci-proto-amneziawg — веб-интерфейс LuCI для настройки через браузер (опционально).
Совместимость: почему версия ядра критична
Главная причина, по которой установка kmod-пакетов заканчивается ошибкой, — несовпадение версии ядра. Модуль собирается под конкретную сборку конкретной версии ядра OpenWrt, и даже минорное расхождение (например, между релизом и snapshot-сборкой) делает пакет несовместимым.
Проверьте версию прошивки и ядра до скачивания пакета. Для этого выполните в SSH:
cat /etc/openwrt_release
uname -r
Первая команда покажет версию OpenWrt (например, 23.05.x), вторая — точную версию ядра. Эти данные понадобятся, чтобы выбрать правильный IPK-файл из релизов проекта AmneziaWG или сторонних сборок.
⚠️ Внимание: установка kmod-пакета, собранного под другую версию ядра, в лучшем случае завершится ошибкой зависимостей, в худшем — модуль загрузится некорректно и вызовет нестабильную работу роутера. Никогда не используйте принудительную установку --force-depends для модулей ядра без понимания рисков.
Где скачать kmod-amneziawg в формате IPK
На момент написания статьи пакет не входит в стандартные репозитории OpenWrt, поэтому его распространяют отдельно. Основные источники:
- 📦 GitHub-репозиторий проекта AmneziaWG — в разделе релизов публикуются готовые IPK под популярные архитектуры и версии OpenWrt;
- 🏗 Самостоятельная сборка через OpenWrt SDK или ImageBuilder, если готового пакета под вашу версию нет;
- 👥 Сторонние сборки сообщества — на профильных форумах выкладывают пакеты под конкретные модели роутеров, но их происхождение стоит проверять.
Перед скачиванием уточните также архитектуру процессора роутера — она указана в выводе cat /etc/openwrt_release в поле DISTRIB_ARCH. Пакет для aarch64_cortex-a53 не подойдёт для mipsel_24kc и наоборот.
Пошаговая установка IPK-пакета
Установка выполняется через SSH и занимает несколько минут. Порядок действий одинаков для всех моделей роутеров на чистом OpenWrt.
Сначала загрузите IPK-файл на роутер. Проще всего скачать его напрямую через wget в каталог /tmp, либо скопировать с компьютера командой scp. Затем обновите списки пакетов и установите файл:
opkg update
opkg install /tmp/kmod-amneziawg_*.ipk
opkg install amneziawg-tools luci-proto-amneziawg
☑️ Проверка перед установкой
После установки убедитесь, что модуль загрузился:
lsmod | grep amnezia
modinfo amneziawg
Если модуль не появился в списке автоматически, загрузите его вручную командой insmod amneziawg или просто перезагрузите роутер — при корректной установке модуль подхватывается сам.
Типичные ошибки и их решения
Разберём самые частые проблемы, с которыми сталкиваются при установке kmod-amneziawg.
| Ошибка | Вероятная причина | Решение |
|---|---|---|
| Unknown package | Пакета нет в репозитории | Установить из локального IPK-файла |
| Kernel version mismatch | Пакет собран под другое ядро | Найти IPK точно под вашу сборку OpenWrt |
| Cannot satisfy dependencies | Не хватает зависимостей (например, kmod-udptunnel) | Выполнить opkg update и доустановить зависимости |
| Architecture mismatch | IPK для другой платформы | Скачать пакет под вашу архитектуру |
| Интерфейс не поднимается | Модуль не загружен или неверный конфиг | Проверить lsmod и конфигурацию интерфейса |
Отдельно стоит упомянуть ошибку зависимостей: модуль AmneziaWG зависит от тех же сетевых подсистем ядра, что и WireGuard (kmod-udptunnel4/kmod-udptunnel6), поэтому перед установкой убедитесь, что эти пакеты доступны в репозитории вашей прошивки — обычно они ставятся автоматически после opkg update.
⚠️ Внимание: на роутерах с малым объёмом флеш-памяти (8–16 МБ) места может не хватить даже для связки пакетов AmneziaWG. Проверьте свободное место командой df -h /overlay до начала установки.
Как собрать пакет самостоятельно
Если готового IPK под вашу версию прошивки нет, можно собрать его через OpenWrt SDK: скачайте SDK под вашу версию и архитектуру, добавьте исходники пакета amneziawg в каталог package, выполните make menuconfig и выберите kmod-amneziawg, затем запустите сборку командой make package/amneziawg/compile. Готовый IPK появится в каталоге bin/packages.
Настройка интерфейса после установки
После того как модуль загружен, можно создавать интерфейс. Если установлен пакет luci-proto-amneziawg, в веб-интерфейсе LuCI в разделе Сеть → Интерфейсы появится протокол AmneziaWG при добавлении нового интерфейса. Туда вносятся приватный ключ, адрес, параметры пира и значения обфускации (Jc, Jmin, Jmax, S1, S2, H1–H4), которые выдаются сервером Amnezia.
Альтернатива — настройка через конфигурационные файлы /etc/config/network, но для большинства пользователей веб-интерфейс удобнее и менее подвержен синтаксическим ошибкам. Не забудьте добавить новый интерфейс в зону firewall (обычно wan), иначе трафик не пойдёт.
FAQ — частые вопросы
Можно ли установить kmod-amneziawg на стоковую прошивку роутера?
Нет. Пакет предназначен только для OpenWrt и совместимых с ним систем. Стоковые прошивки производителей не поддерживают установку сторонних модулей ядра через opkg.
Чем AmneziaWG отличается от обычного WireGuard?
AmneziaWG — форк WireGuard с добавленной обфускацией: изменённые сигнатуры пакетов и параметры «мусорного» трафика затрудняют обнаружение протокола системами DPI. Криптография и принцип работы туннеля остаются теми же.
Модуль установился, но интерфейса AmneziaWG нет в LuCI. Что делать?
Модуль ядра и веб-интерфейс — разные пакеты. Установите luci-proto-amneziawg и amneziawg-tools, затем перезагрузите роутер или перезапустите веб-сервер командой /etc/init.d/uhttpd restart.
Обновится ли пакет автоматически при обновлении OpenWrt?
Нет. Поскольку пакет ставится вручную и не входит в официальный репозиторий, после обновления прошивки (особенно смены версии ядра) kmod-amneziawg нужно устанавливать заново — IPK под новую сборку ядра.
Безопасно ли ставить IPK со сторонних форумов?
Риск есть: модуль ядра исполняется с максимальными привилегиями. Предпочтительнее официальные релизы проекта AmneziaWG или самостоятельная сборка из исходников. Сторонние пакеты используйте только от проверенных участников сообщества.