Hi,
I want to run WireGuard on a docker container as server,
I try difrent base Images but I get this error message every time:
[#] 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"
Here is 3 Dokerfiles I tried:
FROM alpine:3.7
RUN apk upgrade --update \
&& apk add --no-cache bash wireguard-tools
ENTRYPOINT [ "wg-quick", "up", "wg0" ]
————————————-
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y software-properties-common apt-utils \
&& add-apt-repository ppa:wireguard/wireguard \
&& apt-get update \
&& apt-get install -y iproute linux-headers-$(uname -r) wireguard-dkms wireguard-tools wireguard
ENTRYPOINT [ "wg-quick", "up", "wg0" ]
————————————-
FROM debian:9
&& printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable \
&& apt-get update && apt-get install -y wireguard
ENTRYPOINT [ "wg-quick", "up", "wg0" ]
————————————-
I run this containers with:
sudo docker run -it -v $(pwd)/config:/etc/wireguard/ -v /dev:/dev -v /lib/modules:/lib/modules --cap-add=ALL --privileged <image name here>
where wg0.conf is located in " $(pwd)/config/wg0.conf" on host machine
————————————-
and here is my wg0.conf file:
[Interface]
SaveConfig = true
PrivateKey = <server private key here>
ListenPort = 40540
[Peer]
PublicKey = <client public key here>
————————————-
So, How can I fix this "Unable to access interface: Protocol not supported" error?