Closed Rohmilchkaese closed 2 years ago
I never tried wireguard with ipv6. Can you provide more information (for example, the client and server config)? Have you tried the same config without wireguard-go / docker ?
If the problem is the server is not routing, maybe can be solved adding net.ipv6.conf.all.forwarding=1
to sysctls
in docker-compose.yaml
.
Maybe you were facing this problem https://git.zx2c4.com/wireguard-go/commit/?id=024d6ea4c2a5f4727e0d483db695ec91c5629af8
Hello, I'm attempting to bring IPv6 networking into a Google Cloud server via Wireguard (GCE still doesn't have native IPv6)
It seems like there's some incompatibilities between wireguard and the ip
command provided by the image, here's a full log trying to set up a default IPv6 route:
INFO: (wg0) 2020/05/17 15:12:06 Starting wireguard-go version 0.0.20200320
[#] wg setconf wg0 /dev/fd/63
INFO: (wg0) 2020/05/17 15:12:06 Starting wireguard-go version 0.0.20200320
INFO: (wg0) 2020/05/17 15:12:06 Interface set up
INFO: (wg0) 2020/05/17 15:12:06 Device started
INFO: (wg0) 2020/05/17 15:12:06 UAPI listener started
[#] ip -4 address add 10.69.4.68/32 dev wg0
[#] ip -6 address add 2001:19f0:xx:yy:69::4:44/128 dev wg0
[#] ip link set mtu 1380 up dev wg0
INFO: (wg0) 2020/05/17 15:12:06 Interface set down
INFO: (wg0) 2020/05/17 15:12:06 MTU updated: 1380
INFO: (wg0) 2020/05/17 15:12:06 Interface set up
[#] ip -4 route add 10.69.0.0/20 dev wg0
[#] wg set wg0 fwmark 51820
[#] ip -6 route add ::/0 dev wg0 table 51820
ip: invalid argument '51820' to 'table'
[#] ip link delete dev wg0
INFO: (wg0) 2020/05/17 15:12:06 Interface set down
ERROR: (wg0) 2020/05/17 15:12:06 Failed to read packet from TUN device: read : file descriptor in bad state
INFO: (wg0) 2020/05/17 15:12:06 Device closing
INFO: (wg0) 2020/05/17 15:12:06 Shutting down
The config was pretty straightforward:
[Interface]
Address = 10.69.4.68/32, 2001:19f0:xx:yy:69::4:44/128
PostUp = wg set wg0 private-key /secret/wg-key/PrivateKey
[Peer]
PublicKey = ......
AllowedIPs = 10.69.0.0/20, ::/0
Endpoint = ......
PersistentKeepalive = 55
It seems like non-default routes work so I added 2000::/3 (the Addressable Unicast Internet). I also tried my own attempts to replace the default PostUp = ip -6 route replace default via 2001:19f0:xx:yy:69::/96 dev wg0
which crashed (ip: an inet address is expected rather than "2001:19f0:xx:yy:69::/96"
). Still figuring out the rest of the setup here.
Anyway, not sure what needs to be changed on the image or in Wireguard to fix the default route setup.
I have IPv6 working fine now with 2000::/3
routed instead of ::/0
, for anyone else who ends up here:
[Interface]
Address = 10.x.y.z/32
Address = 2001:x:y:z::43/128
PostUp = wg set wg0 private-key /secret/wg-key/PrivateKey
[Peer]
PublicKey = ......
AllowedIPs = 10.x.y.z/20
AllowedIPs = 2000::/3
Endpoint = .....:51820
PersistentKeepalive = 55
Cheers
Hi @danopia! Thank you for your debugging. It seems this was happening as well with ipv4 and I could reproduce it (#11).
I just fixed it in latest
. You will need to uncomment this line in your docker-compose.yaml:
https://github.com/masipcat/wireguard-go-docker/blob/93a1aa175adcb0ed6a2867d44ffc98e6e5d2d4db/docker-compose.yml#L17-L18
Can you give it a try?
Hey, Could it be that ipv6 is not working ?