[GH-ISSUE #54] Can't install on Debian 12 LXC #26

Open
opened 2026-10-13 21:05:26 +00:00 by bsakaguchi · 10 comments
Owner

Originally created by @perdakovich on GitHub (Nov 20, 2024).
Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/54

log.txt

dpkg: error processing package amneziawg-dkms (--configure):
 installed amneziawg-dkms package post-installation script subprocess returned error exit status 10
dpkg: dependency problems prevent configuration of amneziawg:
 amneziawg depends on amneziawg-dkms (>= 0.0.20200121-2) | amneziawg-modules (>= 0.0.20191219); however:
  Package amneziawg-dkms is not configured yet.
  Package amneziawg-modules is not installed.
It is likely that 5.15.152-1-pve belongs to a chroot's host
Building for 6.1.0-27-amd64

Почему он начинает ставить модуль для 6.1.0?
У меня 5.15, ядро хоста.

awg-quick говорит

Warning: `/etc/amnezia/amneziawg/wg0.conf' is world accessible
[#] ip link add wg0 type amneziawg
Error: Unknown device type.
Unable to access interface: Protocol not supported
[#] ip link delete dev wg0
Cannot find device "wg0"
Originally created by @perdakovich on GitHub (Nov 20, 2024). Original GitHub issue: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/issues/54 [log.txt](https://github.com/user-attachments/files/17829541/log.txt) ``` dpkg: error processing package amneziawg-dkms (--configure): installed amneziawg-dkms package post-installation script subprocess returned error exit status 10 dpkg: dependency problems prevent configuration of amneziawg: amneziawg depends on amneziawg-dkms (>= 0.0.20200121-2) | amneziawg-modules (>= 0.0.20191219); however: Package amneziawg-dkms is not configured yet. Package amneziawg-modules is not installed. ``` ``` It is likely that 5.15.152-1-pve belongs to a chroot's host Building for 6.1.0-27-amd64 ``` Почему он начинает ставить модуль для 6.1.0? У меня 5.15, ядро хоста. awg-quick говорит ``` Warning: `/etc/amnezia/amneziawg/wg0.conf' is world accessible [#] ip link add wg0 type amneziawg Error: Unknown device type. Unable to access interface: Protocol not supported [#] ip link delete dev wg0 Cannot find device "wg0" ```
Author
Owner

@MuadipDebua commented on GitHub (Nov 24, 2024):

Полностью такая же проблема. Очень актуально. Есть ли решения?

<!-- gh-comment-id:2495888155 --> @MuadipDebua commented on GitHub (Nov 24, 2024): Полностью такая же проблема. Очень актуально. Есть ли решения?
Author
Owner

@corpix commented on GitHub (Nov 24, 2024):

Попробуйте на хост поставить, а не в LXC. Я не знаком с proxmox, но сильно сомневаюсь что получится загрузить модуль ядра, находясь в контейнере
Кстати, было бы любопытно посмотреть на вывод вот этих команд:

dkms status
ls -l /usr/src/linux-headers-*
uname -r
<!-- gh-comment-id:2495959145 --> @corpix commented on GitHub (Nov 24, 2024): Попробуйте на хост поставить, а не в LXC. Я не знаком с proxmox, но сильно сомневаюсь что получится загрузить модуль ядра, находясь в контейнере Кстати, было бы любопытно посмотреть на вывод вот этих команд: ``` dkms status ls -l /usr/src/linux-headers-* uname -r ```
Author
Owner

@perdakovich commented on GitHub (Nov 24, 2024):

root@pi-hole:~# dkms status
ls -l /usr/src/linux-headers-*
uname -r

amneziawg/1.0.0: added
/usr/src/linux-headers-6.1.0-27-amd64:
total 1684
-rw-r--r-- 1 root root 56 Nov 1 04:23 Makefile
-rw-r--r-- 1 root root 1709359 Nov 1 04:23 Module.symvers
drwxr-xr-x 3 root root 4096 Nov 19 20:54 arch
drwxr-xr-x 4 root root 4096 Nov 19 20:54 include
lrwxrwxrwx 1 root root 34 Nov 1 04:23 scripts -> ../../lib/linux-kbuild-6.1/scripts
lrwxrwxrwx 1 root root 32 Nov 1 04:23 tools -> ../../lib/linux-kbuild-6.1/tools

/usr/src/linux-headers-6.1.0-27-common:
total 80
-rw-r--r-- 1 root root 71990 Nov 1 04:23 Makefile
drwxr-xr-x 15 root root 4096 Nov 19 20:54 arch
drwxr-xr-x 31 root root 4096 Nov 19 20:54 include
lrwxrwxrwx 1 root root 34 Nov 1 04:23 scripts -> ../../lib/linux-kbuild-6.1/scripts
lrwxrwxrwx 1 root root 32 Nov 1 04:23 tools -> ../../lib/linux-kbuild-6.1/tools
5.15.152-1-pve
root@pi-hole:~#

<!-- gh-comment-id:2496040399 --> @perdakovich commented on GitHub (Nov 24, 2024): root@pi-hole:~# dkms status ls -l /usr/src/linux-headers-* uname -r amneziawg/1.0.0: added /usr/src/linux-headers-6.1.0-27-amd64: total 1684 -rw-r--r-- 1 root root 56 Nov 1 04:23 Makefile -rw-r--r-- 1 root root 1709359 Nov 1 04:23 Module.symvers drwxr-xr-x 3 root root 4096 Nov 19 20:54 arch drwxr-xr-x 4 root root 4096 Nov 19 20:54 include lrwxrwxrwx 1 root root 34 Nov 1 04:23 scripts -> ../../lib/linux-kbuild-6.1/scripts lrwxrwxrwx 1 root root 32 Nov 1 04:23 tools -> ../../lib/linux-kbuild-6.1/tools /usr/src/linux-headers-6.1.0-27-common: total 80 -rw-r--r-- 1 root root 71990 Nov 1 04:23 Makefile drwxr-xr-x 15 root root 4096 Nov 19 20:54 arch drwxr-xr-x 31 root root 4096 Nov 19 20:54 include lrwxrwxrwx 1 root root 34 Nov 1 04:23 scripts -> ../../lib/linux-kbuild-6.1/scripts lrwxrwxrwx 1 root root 32 Nov 1 04:23 tools -> ../../lib/linux-kbuild-6.1/tools 5.15.152-1-pve root@pi-hole:~#
Author
Owner

@perdakovich commented on GitHub (Nov 24, 2024):

А толку, от того что я поставлю awg на хост?
И опять же, мне не обязательно модуль ядра, просто хоть как-то уже поставить его

<!-- gh-comment-id:2496041234 --> @perdakovich commented on GitHub (Nov 24, 2024): А толку, от того что я поставлю awg на хост? И опять же, мне не обязательно модуль ядра, просто хоть как-то уже поставить его
Author
Owner

@corpix commented on GitHub (Nov 24, 2024):

Предполагаю что в /usr/src/ должны быть исходники для соответствующей хостовой версии ядра, которую репортит uname -r. Без этого dkms скорее всего продолжит падать с ошибкой.

А толку, от того что я поставлю awg на хост?

На хосте нужен модуль ядра чтобы работал awg.

Кажется если хочется это все в контейнере запустить то проще использовать userspace реализацию протокола https://github.com/amnezia-vpn/amneziawg-go, которая работает без модуля ядра

Поправка: В readme amneziawg-go указано:

When an interface is running, you may use amneziawg-tools to configure it, as well as the usual ip(8) and ifconfig(8) commands.

Так что awg будет работать и без модуля ядра, проблема только его поставить в контейнере, возможно подойдет бинарный релиз https://github.com/amnezia-vpn/amneziawg-tools/releases/tag/v1.0.20241018

<!-- gh-comment-id:2496135762 --> @corpix commented on GitHub (Nov 24, 2024): Предполагаю что в `/usr/src/` должны быть исходники для соответствующей хостовой версии ядра, которую репортит `uname -r`. Без этого dkms скорее всего продолжит падать с ошибкой. > А толку, от того что я поставлю awg на хост? На хосте нужен модуль ядра чтобы работал awg. Кажется если хочется это все в контейнере запустить то проще использовать userspace реализацию протокола https://github.com/amnezia-vpn/amneziawg-go, которая работает без модуля ядра Поправка: В readme amneziawg-go указано: > When an interface is running, you may use [amneziawg-tools ](https://github.com/amnezia-vpn/amneziawg-tools)to configure it, as well as the usual ip(8) and ifconfig(8) commands. Так что `awg` будет работать и без модуля ядра, проблема только его поставить в контейнере, возможно подойдет бинарный релиз https://github.com/amnezia-vpn/amneziawg-tools/releases/tag/v1.0.20241018
Author
Owner

@perdakovich commented on GitHub (Nov 25, 2024):

так вот же

awg-quick говорит

Warning: `/etc/amnezia/amneziawg/wg0.conf' is world accessible
[#] ip link add wg0 type amneziawg
Error: Unknown device type.
Unable to access interface: Protocol not supported
[#] ip link delete dev wg0
Cannot find device "wg0"
<!-- gh-comment-id:2498437409 --> @perdakovich commented on GitHub (Nov 25, 2024): так вот же > awg-quick говорит > ``` > Warning: `/etc/amnezia/amneziawg/wg0.conf' is world accessible > [#] ip link add wg0 type amneziawg > Error: Unknown device type. > Unable to access interface: Protocol not supported > [#] ip link delete dev wg0 > Cannot find device "wg0" > ```
Author
Owner

@corpix commented on GitHub (Nov 25, 2024):

Все верно. amneziawg-tools будут работать только с существующим интерфейсом. Он может быть создан через amneziawg-go.
Добавление интерфейса через ip link add wg0 type amneziawg не будет работать без модуля ядра

<!-- gh-comment-id:2498455589 --> @corpix commented on GitHub (Nov 25, 2024): Все верно. amneziawg-tools будут работать только с существующим интерфейсом. Он может быть создан через amneziawg-go. Добавление интерфейса через `ip link add wg0 type amneziawg` [не будет работать без модуля ядра](https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/blob/7e7dfca6b2824e5a14c5b011a4e05aac89d85231/src/device.c#L457)
Author
Owner

@perdakovich commented on GitHub (Dec 27, 2024):

запустил интерфейс
image

пытаюсь его сконфигурировать
image

он опять пытается через модуль ядра это делать, как быть?

<!-- gh-comment-id:2563184194 --> @perdakovich commented on GitHub (Dec 27, 2024): запустил интерфейс ![image](https://github.com/user-attachments/assets/5a229ea7-1e92-4d41-aabd-0370961ff2c7) пытаюсь его сконфигурировать ![image](https://github.com/user-attachments/assets/4a061210-c591-4338-8d33-a2829e258b2b) он опять пытается через модуль ядра это делать, как быть?
Author
Owner

@corpix commented on GitHub (Dec 27, 2024):

Судя по

github.com/amnezia-vpn/amneziawg-tools@c0b400c6df/src/wg-quick/linux.bash (L92)

github.com/amnezia-vpn/amneziawg-tools@c0b400c6df/src/wg-quick/linux.bash (L328-L330)

  1. Интерфейс будет удален если существует
  2. awg-quick автоматически фолбечится на amneziawg-go при отсутствии модуля ядра и присутствии инструмента в PATH, в противном случае используется путь из WG_QUICK_USERSPACE_IMPLEMENTATION

Соответственно быстрое решение, которое вероятно заработает: sudo WG_QUICK_USERSPACE_IMPLEMENTATION=./amneziawg-go ./awg-quick up wg0

<!-- gh-comment-id:2563192874 --> @corpix commented on GitHub (Dec 27, 2024): Судя по https://github.com/amnezia-vpn/amneziawg-tools/blob/c0b400c6dfc046f5cae8f3051b14cb61686fcf55/src/wg-quick/linux.bash#L92 https://github.com/amnezia-vpn/amneziawg-tools/blob/c0b400c6dfc046f5cae8f3051b14cb61686fcf55/src/wg-quick/linux.bash#L328-L330 1) Интерфейс будет удален если существует 2) `awg-quick` автоматически фолбечится на amneziawg-go при отсутствии модуля ядра и присутствии инструмента в `PATH`, в противном случае используется путь из `WG_QUICK_USERSPACE_IMPLEMENTATION` Соответственно быстрое решение, которое вероятно заработает: `sudo WG_QUICK_USERSPACE_IMPLEMENTATION=./amneziawg-go ./awg-quick up wg0`
Author
Owner

@perdakovich commented on GitHub (Dec 27, 2024):

спасибо

<!-- gh-comment-id:2563203274 --> @perdakovich commented on GitHub (Dec 27, 2024): спасибо
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amneziawg-linux-kernel-module#26
No description provided.