Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

WG_MODULE_LOAD_FAIL Сетевое оборудование и VPN

WireGuard Error: Kernel module wireguard.ko failed to load — Решение сбоя

Обновлено: 24.08.2026 · Официальная документация ↗

Утилита wg-quick не может создать интерфейс, сообщая об отсутствии поддержки протокола со стороны ядра операционной системы Linux.

  • Ошибка консоли: [#] ip link add dev wg0 type wireguard ... Error: Unknown device type / Operation not supported.
  • Команда modprobe wireguard выдает: modprobe: FATAL: Module wireguard not found in directory /lib/modules/$(uname -r).
  • В системах с Secure Boot: modprobe: ERROR: could not insert 'wireguard': Required key not available.
  • Служба падает после недавнего обновления ядра Linux без перезагрузки системы.

1. Проверка версии ядра Linux

WireGuard официально включен в основную ветку ядра, начиная с версии **Linux 5.6**. Проверьте текущую версию ядра:

uname -r

2. Установка заголовков ядра и сборка модуля через DKMS (для старых ядер / LTS)

Если ядро старше 5.6 или модуль отсутствует в сборке дистрибутива:

# Для Debian / Ubuntu:
apt-get update
apt-get install -y linux-headers-$(uname -r) wireguard-dkms wireguard-tools

# Для RHEL / CentOS / Rocky Linux:
dnf install -y epel-release elrepo-release
dnf install -y kmod-wireguard wireguard-tools

3. Исправление конфликта версий после обновления ядра

Если ядро было обновлено, но система не перезагружалась, директория модулей указывает на старую версию. Выполните перезагрузку:

reboot

4. Решение проблемы Secure Boot (Подпись модуля ядра MOK)

Если включен Secure Boot, скомпилированный через DKMS модуль должен быть подписан:

# Генерация и импорт сертификата MOK
update-secureboot-policy --enroll-key
# Либо отключите Secure Boot в BIOS/UEFI хоста.

5. Альтернатива: Использование WireGuard в пространстве пользователя (Userspace Fallback)

Если невозможно загрузить модуль ядра (например, в непривилегированных контейнерах OpenVZ/LXC):

# Установка userspace-реализации
apt-get install -y wireguard-go

# Запуск интерфейса через wireguard-go
wireguard-go wg0
wg-quick up wg0
💡 Практика специалистов: Если вы запускаете WireGuard внутри непривилегированного контейнера Proxmox LXC, пробросьте модуль с хоста: добавьте 'lxc.cgroup2.devices.allow: c 10:200 rwm' и 'lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file' в конфиг контейнера.

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

В чем разница между модулем ядра wireguard.ko и wireguard-go?

Модуль ядра wireguard.ko работает внутри пространства ядра с максимальной производительностью и минимальными задержками. wireguard-go работает в User Space через TUN-интерфейс, расходует больше CPU, но может работать без прав модификации ядра.

Как проверить, загружен ли модуль WireGuard прямо сейчас?

Выполните команду: lsmod | grep wireguard. Если вывод пуст, модуль не активен в памяти ядра.

Почему после команды 'apt upgrade' падает туннель WireGuard?

Обновление ядра удаляет старые модули. До перезагрузки в новое ядро modprobe не может найти .ko файлы для текущей работающей версии.

Поддерживается ли WireGuard в WSL2 (Windows Subsystem for Linux)?

Стандартное ядро WSL2 не содержит модуля wireguard.ko. Для работы требуется скомпилировать кастомное ядро WSL2 с поддержкой CONFIG_WIREGUARD=m или использовать wireguard-go.

Полезные материалы
Рекомендуем