cross-posted from: https://lemmy.world/post/3754933
While experimenting with ProtonVPN’s Wireguard configs, I realized that my real IPv6 address was leaking while IPv4 was correctly going through the tunnel. How do I prevent this from happening?
I’ve already tried adding
::/0
to theAllowedIPs
option and IPv6 is listed as disabled in the NetworkManager profile.
IPv4 and IPv6 are two different network stacks. Your IPv4 stack is hidden behind wireguard, but not the IPv6 one.
The correct way to fix your issue is to setup a second witeguard tunnel for IPv6, and route IPv6 traffic through it.
Edit: many comments advise to block outbound IPv6 traffic. Don’t do that! It will add latency to all your requests as you will have to wait for them to timeout.
Unfortunately I can’t change the tunnel as it is provided by ProtonVPN.
Apparently they advise to disable IPv6. I’m a bit disappointed 😞
If you disable IPv6 at the kernel level there’s no extra latency as nothing even tries to connect to an IPv6 address. It’s a shame to have to do it, but does fix the issue.
Disabling it is fine indeed, but I saw many comments advising to block outbound traffic, so I warned against that.
The bad practise would be to entirely disable IPv6. #ShittySysAdmin
Broke: disabling ipv6 because it’s causing security holes with software not originally built for it
Woke: disabling ipv6 because hex ip strings are too hard to type
Honest to Tux, I’ve never memorized a single IPv6 since its public release; ever.
Well I memorized mine: ::1
Me either. I have a text file on the desktop that I use to copy paste the loopback address on the rare rare times I actually need it lul
The whole Silicon Valley, governments and economic infrastructure of the world hang by a thread made of bootleg shortcuts.
In this case, disabling IPv6 is actually the right move. If the VPN provider doesn’t support IPv6, then there’s no way to allow to allow IPv6 Internet traffic without causing a leak/VPN bypass. If you block IPv6 via firewall or routing it to a dead-end, it will add delays as things try IPv6, timeout, and fall back to IPv4. If you just remove the IPv6 address from the Internet interface, you have to also make sure it doesn’t get re-added by SLAAC/DHCPv6 or other interface changes (switching wifi networks, etc). As dumb as it seems, disabling IPv6 or switching to a provider that supports it are probably the best options.
In this case, disabling IPv6 is actually the right move. If the VPN provider doesn’t support IPv6, then there’s no way to allow to allow IPv6 Internet traffic without causing a leak/VPN bypass.
The right move for the VPN provider is to support IPv6. The right move for the user is to take their business to a provider that does.
Yes, I agree - using a VPN that supports IPv6 is preferred. If they don’t want to/can’t change providers, then disabling IPv6 is the best way to prevent IPv6 leaks without negatively affecting network performance.
I do the same, but would like to know the correct way to hide ipv6
Unironically that’s one thing we do to anonymize traffic at work. We could do NAT via IPV6 but what’s the point when IPV4 already helps mask who is doing what in the office.
IPv6 is broken by design /s.
My ISP doesn’t even support IPv6
My country doesn’t really support IPv6.
Vodafone gang!
Time to get a better ISP
deleted by creator
For me, it was rather the opposite: when dropping IPv6 packets, applications would often hang and behave weirdly. Disabling IPv6 completely would mean they’d stop trying to do anything on IPv6 and function well.
[This comment has been deleted by an automated system]
The true enterprise solution is to disable IPv6, if you disable IPv4 you might be surprised to see how many sites and services, even those run by large companies require IPv4.
Wireguard easily supports dual stack configuration on a single interface, but the VPN server must also have IPv6 enabled. I use AirVPN and I get both IPv6 and IPv4 with a single wireguard tunnel. In addition to the ::/0 route you also need a static IPv6 address for the wireguard interface. This address must be provided to you by ProtonVPN.
If that’s not possible, the only solution is to entirely disable IPv6.
Yes, agree with you, especially your last comment: disable entirely IPv6
I just disable ipv6 on my router to simply my firewall and such… Won’t use it until necessary
This is a real backwards approach to this.
Why? I don’t miss anything
You’re missing a chance to help cool tech moving forward :)
Here is the solution I use: https://sgued.fr/blog/wg-ipv4/
Using networking namespaces may be an option https://gist.github.com/zenofile/d3ada8a1becb8c88aadffa68cdb18350
Just disable IPv6, if you don’t wanna, try a configuration tool like PiVPN, which can setup wireguard automatically
I use a magisk module to disable ipv6
decreasing security for a… privacy(?) increase 🤔
We’re not talking about privacy in that context here
We’re trying to patch a leaking ipv6 which I gave my solution to.
Don’t use it if you don’t like it lmao
I suppose but my point was that rooting your device decreases security immensely via crippling the android security model.
That is true… but it’s always about your threat model
Here, the ipv6 leaks are the priority