Wireguard fails when using IPv6 addresses
Describe your issue
When trying to use wireguard, the default with IPv6, it fails on wg-quick up. This does not happen when IP addresses in the config are only IPv4.
What's the expected behavior?
Wireguard works with IPv6.
What's the current behavior?
Wireguard fails on step ip -6 rule add not fwmark 51820 table 51820 with error RTNETLINK answers: Not supported (more detail below)
How to reproduce your issue?
sudo apk add wireguard-tools
sudo modprobe wireguard
create file /etc/wireguard/wg0-client.conf:
[Interface]
Address = 10.0.0.4/32, 2a00:5:abcd:1234::4/128
PrivateKey = yM2ajamtC3UejR1FFXqkgy2d1FqEJLe5VJIFrFn6yFM=
[Peer]
PublicKey = VkK4mGNfWlsjDBOSWkljTatCZ0CBIpHQ9Gf3bPTm2SI=
Endpoint = 192.168.1.2:51820
AllowedIPs = 0.0.0.0/0,::/0
and run:
sudo wg-quick up wg0-client
[#] ip link add wg0-client type wireguard
[#] wg setconf wg0-client /dev/fd/63
[#] ip -4 address add 10.0.0.4/32 dev wg0-client
[#] ip -6 address add 2a00:5:abcd:1234::4/128 dev wg0-client
[#] ip link set mtu 1420 up dev wg0-client
[#] wg set wg0-client fwmark 51820
[#] ip -6 route add ::/0 dev wg0-client table 51820
[#] ip -6 rule add not fwmark 51820 table 51820
RTNETLINK answers: Not supported
[#] ip link delete dev wg0-client
I suspect something with IPv6 isn't enabled in the kernel config, maybe CONFIG_IP6_NF_MATCH_IPV6HEADER?
What device are you using?
Pinephone CE postmarketOS edition 3GB/32GB
On what postmarketOS version did you encounter the issue?
-
edge ( masterbranch) -
stable ( v20.05branch)
On what environment did you encounter the issue?
Phone environments
-
Phosh -
Plasma Mobile -
Sxmo
How did you get postmarketOS image?
-
from https://images.postmarketos.org -
I built it using pmbootstrap -
It was preinstalled on my device
What's the build date of the image? (in dd-mm-yyyy format)
2020-09-17
Additional information
Wireguard module should be enabled:
pine64-pinephone:~$ lsmod | head
Module Size Used by
wireguard 86016 0
libchacha20poly1305 16384 1 wireguard
chacha_neon 24576 1 libchacha20poly1305
poly1305_neon 20480 1 libchacha20poly1305
ip6_udp_tunnel 16384 1 wireguard
udp_tunnel 16384 1 wireguard
libcurve25519_generic 40960 1 wireguard
libblake2s 16384 1 wireguard
libblake2s_generic 20480 1 libblake2s