cmulk / wireguard-docker

Wireguard setup in Docker meant for a simple personal VPN
345 stars 92 forks source link

Unable to access interface: Protocol not supported - Debian Buster #8

Closed tkempheks closed 3 years ago

tkempheks commented 4 years ago

Output of docker run -it --rm --cap-add sys_module -v /lib/modules:/lib/modules cmulk/wireguard-docker:buster install-module

wireguard.ko:
Running module version sanity check.

Good news! Module version 0.0.20200215 for wireguard.ko
exactly matches what is already found in kernel 4.19.0-8-amd64.
DKMS will not replace this module.
You may override by specifying --force.

depmod...

DKMS: install completed.
Building initial module for 4.19.0-8-cloud-amd64
Done.

Output Error when running the container docker run --cap-add net_admin --cap-add sys_module -v /root/stuff/wireguard:/etc/wireguard -p 3128:3128/udp cmulk/wireguard-docker:buster

[#] ip link add wg0 type wireguard
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
[#] ip link delete dev wg0
Adding iptables NAT rule
Cannot find device "wg0"

Host OS:

Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

Any idea why this would be happening?

lzlrd commented 4 years ago

If you’re using IPv6 https://github.com/lazerl0rd/wireguard-docker#ipv6-support might help.

cmulk commented 4 years ago

I'm not sure, I haven't seen that error. Are you using IPv6 as @lazerl0rd mentioned? I haven't tried IPv6 with this at all.

Only other thing I can think to check is that kernel version that the module built against is the same as what is currently running. Sometimes there could be a mismatch if you happened to do an upgrade and then module install before rebooting.

DanyTPG commented 4 years ago

I have the same problem. And im not using IPv6.

wireguard.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.19.0-8-amd64/updates/dkms/

depmod...

DKMS: install completed.
Building initial module for 4.19.0-8-cloud-amd64
Done.

wireguard.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.19.0-8-cloud-amd64/updates/dkms/

depmod...

DKMS: install completed.
Setting up g++ (4:8.3.0-1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up linux-headers-4.19.0-8-cloud-amd64 (4.19.98-1) ...
Setting up gnupg (2.2.12-1+deb10u1) ...
Setting up build-essential (12.6) ...
Setting up libalgorithm-diff-xs-perl (0.04-5+b1) ...
Setting up libalgorithm-merge-perl (0.08-3) ...
Setting up linux-headers-amd64 (4.19+105+deb10u3) ...
Setting up linux-headers-cloud-amd64 (4.19+105+deb10u3) ...
Processing triggers for libc-bin (2.28-10) ...

And here's the output of running the docker container. btw terminal will get stuck in running mode after running this command.

dex@avem:~$ docker run --restart unless-stopped  --cap-add net_admin --cap-add sys_module -v /etc/wireguard:/etc/
wireguard -p 55555:55555/udp cmulk/wireguard-docker:buster
Tue Mar 31 18:09:26 UTC 2020: Starting Wireguard /etc/wireguard/wg0.conf
Warning: `/etc/wireguard/wg0.conf' is world accessible
[#] ip link add wg0 type wireguard
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
[#] ip link delete dev wg0
Cannot find device "wg0"
Adding iptables NAT rule` 

Also the OS:

NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
cmulk commented 4 years ago

For now this will not run on an ubuntu host due to kernel module dependencies (I know that's not very Docker-like but that's the way wireguard is for now). Planning to create a bionic branch to run on Ubuntu soon

alessiofx commented 4 years ago

Follow, I have the some pbloblem

cmulk commented 3 years ago

Wireguard is now included in the ubuntu kernel, you can use the "normal" run mode of this image now without needing the install-module