Closed TheLinuxGuy closed 3 years ago
Adding some additional stuff I have tried in case anyone has any suggestions. Apparently KVM VPS providers have some kind of arp spoofing protection called 'ebtables' - I asked my provider who has disabled this - I reset my VPS and started again from scratch. Results are the same. IPv6 address assigned to wg-client10 is not pingable from the internet to the client.
When doing a tcpdump on the 'wghub' interface on the server, I see wg-client making ICMPv6 neighbor solicitation but getting no responses from upstream.
This may explain the unreachable ip6 neigh show table. If I look at eth0 (wan) on the VPS, every time I try to ping the wgclient IPv6 address - a request comes in 'who has' and a response is provided. Yet still the IPv6 on wgclient remains to be unreachable outside of the VPS itself and the internet. I'm not sure what else to check?
Did your VPS provider assign a network of /64 to your VPS? Are you able to use more than one unicast IPv6 address with this VPS?
Did your VPS provider assign a network of /64 to your VPS? Are you able to use more than one unicast IPv6 address with this VPS?
Yes, I have a routable /64 and can assign IPv6 within the /64 segment to the eth0 and its pingable outside the wg tunnel.
Looks like my KVM VPS provider may have not reset ebtables correctly the first time I requested them to do it, after I asked them to do it a second time now my IPv6 is working and pingable via anywhere (https://tools.keycdn.com/ipv6-ping) and traffic is going thru wireguard. Hope this helps someone - your script makes it very easy to setup.
When the hosting provider did the ebtables
setup, the configuration created by easy-wg-quick
script just worked, right? Was the ping
command enough to test (i.e., ping tunnel endpoint from the Internet)?
When the hosting provider did the
ebtables
setup, the configuration created byeasy-wg-quick
script just worked, right? Was theping
command enough to test (i.e., ping tunnel endpoint from the Internet)?
ping tests to the single IPv6 assigned to the WG peer did work and respond from the internet with ebtables disabled.
NDP proxy is not needed if you can get a routed IPv6 allocation from the ISP provider. I had two different kinds of VMs that i tested against. buyvm.net provides routed IPv6 /48 to a $2 VM if someone wants to try that and they wanted to grant a full /64 IPv6 to a peer it works without NDP proxy.
Thank you for sharing your experience. I'm closing this ticket.
I appreciate the work in putting together a quick script that can turn a VPS into an easy dual-stack wireguard gateway. I'm trying to get IPv6 from my VPS to be reachable from the internet through the wireguard tunnel.
The script seems to set this up correctly - but I am not sure how to validate that my client is receiving the NDP packets. VPS is debian 10 and the client is windows 10 using the official wireguard client.
The VPS itself can ping the client thru the tunnel - but when I try to access the IPv6 unicast from anywhere else like https://tools.keycdn.com/ipv6-ping - it fails. Other websites that should be working are indicating I don't have an IPv6 address http://test-ipv6.com/ and https://ipv6-test.com/
I carried out a simple install on a dummy VPS with throwaway IPv6 addresses just to test and learn, here's the exact steps done after wireguard was installed.
The windows NDP table shows "Probe" on it but never changes.
Any pointers on what I may have missed or what else to check to make this work?