If a router is in bridge mode (no IPv6 delegation, no prefix assignment),
all connected devices never receive a global IPv6 address.
*No global IPv6 address = nothing for the browser to leak.*
PSA:
IPv6 browser privacy leaks are caused by the host, yet there's a fix.
ISP modem > IPv6-silent bridge > normal home router > Wi-Fi devices
On all platforms, web browsers can leak your globally-routable IPv6
address (even when you're using a VPN). This IPV6 privacy leak happens because the browsers prefer IPv6 and the OS host itself participates in
IPv6 routing.
In message <113kg6k$s72$1@nnrp.usenet.blueworldhosting.com>
Maria Sophia <mariasophia@comprehension.com> wrote:
PSA:
IPv6 browser privacy leaks are caused by the host, yet there's a fix.
ISP modem > IPv6-silent bridge > normal home router > Wi-Fi devices
On all platforms, web browsers can leak your globally-routable IPv6
address (even when you're using a VPN). This IPV6 privacy leak happens
because the browsers prefer IPv6 and the OS host itself participates in
IPv6 routing.
I don't understand why you think there's a problem. Very much the whole point of IPv6 is that all your globally routable IPv6 addresses are,
well, globally routable. I'd be happy for the whole world to know what
mine are.
The only ports that are open on any of these addresses to incoming connections are as a result of my opening a pinhole in the firewall.
So, knowing your globally routable addresses is one thing. Allowing connections in to any of them is entirely another matter.
If a router is in bridge mode (no IPv6 delegation, no prefix
assignment), all connected devices never receive a global IPv6
address. *No global IPv6 address = nothing for the browser to leak.*
Doesn't this depend on whether the ISP supports IPV6? Why is it
necessary to use bridged mode to disable IPV6? my router can switch
off IPv6 without bridged mode? How do you make use of NAT in bridged
mode? Does each device get its own IPV4 address from the ISP?
Furthermore, I don't think it is leaking an ipv6 address, that is what
it is supposed to do, give every device its own public IP address.
I don't understand why you think there's a problem. Very much the whole
point of IPv6 is that all your globally routable IPv6 addresses are,
well, globally routable. I'd be happy for the whole world to know what
mine are.
The only ports that are open on any of these addresses to incoming
connections are as a result of my opening a pinhole in the firewall.
So, knowing your globally routable addresses is one thing. Allowing
connections in to any of them is entirely another matter.
Because he is torrenting via a tunnel to VPN servers. Apparently the torrrent app bypasses the VPN and connects directly via IPv6, so his identity becomes known.
Carlos E. R. wrote:
I don't understand why you think there's a problem. Very much the whole >>> point of IPv6 is that all your globally routable IPv6 addresses are,
well, globally routable. I'd be happy for the whole world to know what
mine are.
The only ports that are open on any of these addresses to incoming
connections are as a result of my opening a pinhole in the firewall.
So, knowing your globally routable addresses is one thing. Allowing
connections in to any of them is entirely another matter.
Because he is torrenting via a tunnel to VPN servers. Apparently the
torrrent app bypasses the VPN and connects directly via IPv6, so his
identity becomes known.
While IPv6 privacy applies to all devices, all OSes & all browsers alike,
as Carlos noted, the specific issue this PSA is designed to uncover is not >incoming connections. The issue is (likely accidental) identity exposure.
The new issue is a globally routable IPv6 address is unique to the device.
IPv6 removes the "all devices look the same" protection that NAT
provided. With IPv6, if an application bypasses the VPN and leaks IPv6,
the ISP sees the real IPv6 address of the device doing the torrenting
Hence, the privacy issue is not that someone can connect to you.
As David noted, firewalls stop that.
The issue is that the address itself is a stable identifier to a specific >device, where the key issue is identity exposure, not a firewall failure.
. . .--- Synchronet 3.22a-Linux NewsLink 1.2
If a router is in bridge mode (no IPv6 delegation, no prefix assignment),
all connected devices never receive a global IPv6 address.
*No global IPv6 address = nothing for the browser to leak.*
Look up Teredo, in Windows.
In Linux, disabling Ipv6 is feasible.
The host-level IPv6 participation is the root cause of IPv6 privacy
exposure. If the host never receives an IPv6 address, the browser cannot reveal one.
Carlos E. R. wrote:
I don't understand why you think there's a problem. Very much the whole >>> point of IPv6 is that all your globally routable IPv6 addresses are,
well, globally routable. I'd be happy for the whole world to know what
mine are.
The only ports that are open on any of these addresses to incoming
connections are as a result of my opening a pinhole in the firewall.
So, knowing your globally routable addresses is one thing. Allowing
connections in to any of them is entirely another matter.
Because he is torrenting via a tunnel to VPN servers. Apparently the
torrrent app bypasses the VPN and connects directly via IPv6, so his
identity becomes known.
While IPv6 privacy applies to all devices, all OSes & all browsers alike,
as Carlos noted, the specific issue this PSA is designed to uncover is not incoming connections. The issue is (likely accidental) identity exposure.
The new issue is a globally routable IPv6 address is unique to the device.
IPv6 removes the "all devices look the same" protection that NAT
provided. With IPv6, if an application bypasses the VPN and leaks IPv6,
the ISP sees the real IPv6 address of the device doing the torrenting
A firewall can block IPv6 packets, but it cannot remove the IPv6 identity from the host. The host still has a global IPv6 address, the browser still prefers IPv6, the torrent client still binds to IPv6 and the OS still advertises IPv6 capability. The application can expose the IPv6 address before the firewall ever drops the packet. That is attribution.
Once the host has a global IPv6 address, the identity exists.
Blocking traffic does not prevent the identity from being announced.
This is why the PSA focused only on the *simplest* way to prevent the host from receiving an IPv6 address at all, because no IPv6 address means:
a. nothing for the browser to expose
b. nothing for applications to bind to
c. nothing for the OS to advertise
d. nothing for the VPN to bypass
I only started investigating this privacy problem a couple of days ago, so everything I say can be wrong (and much of what I say likely is wrong), but the epiphany that I wished to let everyone know about is that a simple
bridge (even a dumb switch) instantly stops this problem at its roots.
modem <-> dumb bridge <-> router <-> any device <-> any browser
Even as my original goal was torrenting on VPN, everything about IPv6
equally well applies to doing anything on any OS & on any web browser.
IPv6 removes the "all devices look the same" protection that NAT
provided. With IPv6, if an application bypasses the VPN and leaks IPv6,
the ISP sees the real IPv6 address of the device doing the torrenting
Hence, the privacy issue is not that someone can connect to you.
As David noted, firewalls stop that.
The issue is that the address itself is a stable identifier to a specific >>device, where the key issue is identity exposure, not a firewall failure.
Don't use it as a stable identifier. Make every connection a virtual
session, assigning a different IPv6 to each dynamically to defeat fingerprinting. This model is used by a certain server farm.
The host-level IPv6 participation is the root cause of IPv6 privacy
exposure. If the host never receives an IPv6 address, the browser cannot
reveal one.
Regarding wording: wouldn't the root cause be the VPN only providing
IPv4 and no IPv6? If you're using a VPN for privacy, then I'd chalk that
down as a flaw with the VPN, not with the rest of the system and network working as expected.
I guess you'd have the same issue if you were on IPv4 with no NAT and
the VPN only offered IPv6.
The new issue is a globally routable IPv6 address is unique to the device. >>
IPv6 removes the "all devices look the same" protection that NAT
provided. With IPv6, if an application bypasses the VPN and leaks IPv6,
the ISP sees the real IPv6 address of the device doing the torrenting
(Or rather, the ISP sees you're torrenting. With the VPN, I gather a
side goal is also that the ISP isn't aware of that.)
A firewall can block IPv6 packets, but it cannot remove the IPv6 identity
from the host. The host still has a global IPv6 address, the browser still >> prefers IPv6, the torrent client still binds to IPv6 and the OS still
advertises IPv6 capability. The application can expose the IPv6 address
before the firewall ever drops the packet. That is attribution.
Can a firewall block the RAs themselves?
Even as my original goal was torrenting on VPN, everything about IPv6
equally well applies to doing anything on any OS & on any web browser.
Yeah, if you want to remove IPv6 from the equation, if you have e.g. a "router" device with a wireless AP that can be configured to handle (and
hand out) only IPv4, configuring it so and connecting through it would
be a way to be more confident that the issue wouldn't arise.
Were this another network application and protocol, I'd wonder what's prompting the software to connect over IPv6, given the VPN should
provide DNS with IPv4 only, but I'm guessing this is about IPv6
addresses in bittorrent, either of peers or of trackers.
On 2026-07-21, Maria Sophia wrote:
Carlos E. R. wrote:
Two things:
Yeah, if you want to remove IPv6 from the equation, if you have e.g. a "router" device with a wireless AP that can be configured to handle (and
hand out) only IPv4, configuring it so and connecting through it would
be a way to be more confident that the issue wouldn't arise.
Were this another network application and protocol, I'd wonder what's prompting the software to connect over IPv6, given the VPN should
provide DNS with IPv4 only, but I'm guessing this is about IPv6
addresses in bittorrent, either of peers or of trackers.
Nuno Silva wrote:
The new issue is a globally routable IPv6 address is unique to the device. >>>
IPv6 removes the "all devices look the same" protection that NAT
provided. With IPv6, if an application bypasses the VPN and leaks IPv6,
the ISP sees the real IPv6 address of the device doing the torrenting
(Or rather, the ISP sees you're torrenting. With the VPN, I gather a
side goal is also that the ISP isn't aware of that.)
Agree.
The VPN is supposed to hide all torrent traffic from the ISP entirely.
An IPv6 leak defeats that goal & adds device-level attribution on top.
With IPv4 + NAT, all devices share one public address, so the ISP can't
tell which device is doing what. With IPv6, each device has its own
globally routable address, so any IPv6 leak identifies both the activity
and the specific device.
Carlos E. R. wrote:
If a router is in bridge mode (no IPv6 delegation, no prefix assignment), >>> all connected devices never receive a global IPv6 address.
*No global IPv6 address = nothing for the browser to leak.*
Look up Teredo, in Windows.
In Linux, disabling Ipv6 is feasible.
Linux does allow complete IPv6 disablement because the kernel can be told
not to accept IPv6 router advertisements or to generate IPv6 addresses.
So Carlos is correct! Linux can truly disable IPv6 at the kernel level.
Funny he mentions "taredo" because in the OP of Usenet thread discussing
how to disable IPv6, the very first step performed was disabling Taredo!
netsh interface ipv6 set teredo disabled
netsh interface ipv6 set 6to4 disabled (deprecated on my Win10 Pro box)
netsh interface ipv6 set isatap disabled (deprecated on my Win10 Pro box)
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 0xFF /f
WARNING! Do not set Tcpip6 DisabledComponents to hex FF like I did.
All hell will break loose the instant you do that (ask me how I know that). Instead, set Tcpip6 DisabledComponents to hex 20 like everyone else does.
To Carlos' astutely helpful accurate technical point, on Windows, Teredo is an IPv6-over-IPv4 tunneling mechanism that can, in and of itself, create
IPv6 connectivity (literally behind your back unless you disable it).
Teredo works by encapsulating IPv6 packets inside IPv4 UDP packets to give
a PC IPv6 connectivity even when you think IPv6 doesn't exist or is off.
It's named for Teredo navalis, a shipworm that burrows through wood.
a. IPv6 === the ship
b. IPv4 NAT === the wood
c. Taredo === the worm that tunnels through NAT to create deliver IPv6
Teredo can be disabled, but it requires:
a. disabling the Teredo interface
b. disabling IPv6 transition technologies
c. ensuring no partial IPv6 configuration exists
d. ensuring the router does not advertise IPv6 at all
Those steps are why this PSA focuses on removing IPv6 at the router level.
modem <-> dumb bridge <-> router <-> any OS <-> any browser
If the LAN never provides IPv6, Teredo has nothing to tunnel .
BTW, in the thread below where disabling Taredo was the first step, the--
setup that caused the epiphany had the wireless bridge later on the LAN
modem <-> router <-> Wireless bridge <-> Windows OS <-> Firefox browser
The distinction being that everything *after* the bridge is protected.
REFERENCE:
Newsgroups: alt.comp.os.windows-10,alt.comp.microsoft.windows,alt.comp.os.windows-11
Subject: Have you ever disabled IPv6 for privacy (to prevent IP leaks)?
Date: Sat, 18 Jul 2026 12:47:22 -0400
Message-ID: <113gamq$ii0$1@nnrp.usenet.blueworldhosting.com>
Were this another network application and protocol, I'd wonder what's
prompting the software to connect over IPv6, given the VPN should
provide DNS with IPv4 only, but I'm guessing this is about IPv6
addresses in bittorrent, either of peers or of trackers.
If the torrent application connects outside of the VPN, this is a bug
that should be reported to the app developers. Or to the developers of
the VPN software. I'm unsure which is at fault.
Carlos E. R. wrote:
Were this another network application and protocol, I'd wonder what's
prompting the software to connect over IPv6, given the VPN should
provide DNS with IPv4 only, but I'm guessing this is about IPv6
addresses in bittorrent, either of peers or of trackers.
If the torrent application connects outside of the VPN, this is a bug
that should be reported to the app developers. Or to the developers of
the VPN software. I'm unsure which is at fault.
Millions of us have been unknowingly leaking IPv6 for years. Me included. IPv6 silently enabled, silently leaking, nobody told us. It just happened.
It's not a bug.
It's not a mistake.
It's not a misconfiguration.
With IPv4 + NAT, all devices share one public address, so the ISP can't
tell which device is doing what. With IPv6, each device has its own
globally routable address, so any IPv6 leak identifies both the activity
and the specific device.
Ah, no. This is precisely what the RFC 8981 IPv6 privacy extensions are
for. The second part of the address rotates, so that nobody outside can track what machine inside of the router is talking.
The router knows, but the router is yours and you can erase the logs.
The important question is whether the VPN provider advertises "full IPv6 protection." If it does, and IPv6 still escapes, then that's a fault relative to the product's expected behavior. If the provider explicitly
says "we only tunnel IPv4" and leaves IPv6 enabled, then the behavior is expected, even if it's undesirable for someone who wants all traffic protected.
Carlos E. R. wrote:
With IPv4 + NAT, all devices share one public address, so the ISP can't
tell which device is doing what. With IPv6, each device has its own
globally routable address, so any IPv6 leak identifies both the activity >>> and the specific device.
Ah, no. This is precisely what the RFC 8981 IPv6 privacy extensions are
for. The second part of the address rotates, so that nobody outside can
track what machine inside of the router is talking.
The router knows, but the router is yours and you can erase the logs.
Carlos brings up a good point about RFC 8981 IPv6 privacy extensions where
we need to distinguish between tracking over time against identifying the device right now because there are two parts to an IPv6 address.
1. The prefix (this is fixed as it does not rotate under RFC 8981)
2. The interface identifier (this is the part RFC 8981 rotates)
Only recently did I learn about RFC 8981 in the Windows ng but from what
I've researched, AFAIK, RFC 8981 does not hide the device from the ISP.
a. Therefore, AFAIK, RFC 8981 does not prevent device attribution.
b. RFC8981 privacy extensions do not prevent VPN bypass.
c. RFC8981 privacy extensions do not prevent IPv6 leaks.
Given the prefix remains fixed, RFC 8981 cannot hide the device from the
ISP as RFC 8981 only rotates the interface identifier half of the address.
What remains of IPv6 reveals both the subscriber and the specific device. Short term or long term, RFC 8981 does nothing to prevent that prefix leak.
To be clear, RFC 8981 privacy extensions are likely great, but AFAIK, they only prevent long-term correlation of activity across different networks.
Based on my research (which we discussed in the Windows 10 newsgroup prior) privacy extensions rotate only interface identifiers, not prefixes.
That means, if I'm correct, that even with RFC-8981 privacy extensions...
a. Websites see our IPv6 prefix
b. Websites know which household the traffic comes from
c. Websites can correlate all our temporary IPv6 addresses to that prefix
d. Websites can still identify your home even if the IID rotates
When RFC 8981 was first suggested on the Windows ng, I thought that was the panacea but the prefix is the part that ties all our IPv6 activity to our home but RFC 8981 doesn't do anything (as far as I can tell) to the prefix.--
As far as I can tell, RFC 8981 does not hide our household identity.
It only hides our device identity, and even that, only over time. .
Given the prefix remains fixed, even with RFC 8981 privacy extensions,
the ISP and any IPv6-reachable website can still correlate all IPv6 activity-short-term and long-term-to the subscriber's household.
Correct me if I'm wrong as I am here to learn so if I'm wrong, say so.
There are several ways to disable IPv6 on Linux, depending on whether
you want the change to be temporary or permanent.
Carlos E. R. wrote:
There are several ways to disable IPv6 on Linux, depending on whether
you want the change to be temporary or permanent.
I agree with everything Carlos suggested, where I ran a few searches to
help everyone on these newsgroups test, right now, their IPv6 protection.
Below are some IPv6 leak tests I think everyone should run at least once.
We're all working together as I'll wager many of us on these ngs were as unaware as I was that IPv6 is, by design, a privacy hole par excellence.
Reaffirming that this whole IPv6 privacy thing is new to me and that it floored me when I found out how different it is from IPv4, to test if the Windows or Linux or Android methods are working, these commands may help.
1. Test external visibility
start firefox https://test-ipv6.com (Windows)
firefox https://test-ipv6.com (Linux)
xdg-open https://test-ipv6.com (Android Termux)
2. Check external reachability
ping -6 google.com
3. Identify the local interface configuration
a. ipconfig (Windows)
b. ifconfig / ip a (Linux)
c. Termux > pkg install iproute2 > ip a (Android)
d. Termux > pkg install net-tools > ifconfig (Android
4. Test DNS resolution
nslookup -type=AAAA google.com (Windows)
dig AAAA google.com (Linux, Android Termux)
5. Test IPv6 routing table
route print -6 (Windows)
ip -6 route (Linux/Android Termux)
6. Test IPv6 WebRTC leaks
firefox https://browserleaks.com/webrtc
firefox https://ipleak.net
7. Test IPv6 prefix delegation
dhclient -6 -v (Linux/Android Termux)
8. Test for VPN leaks
firefox https://ipleak.net
firefox https://browserleaks.com/ip
9. Router setup
Netgear > Advanced > Advanced Setup > IPv6 > Internet Connection Type
Disabled (IPv6 is completely off)
Auto Detect (Router tries to detect IPv6 from your ISP)
6to4 Tunnel (Legacy IPv6-over-IPv4 tunneling)
Pass Through (Router passes IPv6 directly to LAN devices)
Fixed (Manual IPv6 configuration)
DHCP (Used when the ISP hands out IPv6 via DHCPv6)
PPPoE (Used by DSL providers)
Auto Config (Router uses SLAAC (stateless autoconfiguration)
6rd Tunnel (An IPv6-over-IPv4 method used by some ISPs)
Dual-Stack Lite (Used by ISPs that provide IPv6 but tunnel IPv4.\)
v6plus (Japan-specific IPv6 service)
For example
a. No IPv6 addresses were detected by https://test-ipv6.com
b. ping -6 google.com fails
c. My Windows host only has link-local IPv6 (fe80::...)
d. I have no global IPv6 (2000::/3)
e. I have no IPv6 default gateway
f. I have no IPv6 DNS
g. All IPv6-only sites timed out
Specifically for https://test-ipv6.com my IPv6 Firefox score was 0/10
Test with IPv4 DNS record = ok (2.421s) using ipv4
Test with IPv6 DNS record = timeout (5.611s)
Test with Dual Stack DNS record = ok (2.821s) using ipv4
Test for Dual Stack DNS and large packet = ok (1.230s) using ipv4
Test IPv6 large packet = bad (3.898s)
Test if your ISP's DNS server uses IPv6 = ok (1.293) using ipv4
Find IPv4 Service Provider = ok (2.300s) using ipv4
Find IPv6 Service Provider = bad (3.815s)
May I ask others out there what your IPv6 results were with Firefox?
To be clear, RFC 8981 privacy extensions are likely great, but AFAIK, they >> only prevent long-term correlation of activity across different networks.
Long and short. They know what address is talking, but they do not know
what machine inside the house is talking. It is machine XYZW, so what?
That tells them nothing.
Only the router owner knows, if he wants.
On the other hand, the ISP can capture all the traffic from one machine
(not knowing what machine it is actually), and do a traffic analysis on it.
Based on my research (which we discussed in the Windows 10 newsgroup prior) >> privacy extensions rotate only interface identifiers, not prefixes.
That means, if I'm correct, that even with RFC-8981 privacy extensions...
a. Websites see our IPv6 prefix
b. Websites know which household the traffic comes from
c. Websites can correlate all our temporary IPv6 addresses to that prefix
d. Websites can still identify your home even if the IID rotates
Certainly, as this is intentional and an advantage of IPv6, for the
original intentions of Internet design (ie, direct communication person
to person anywhere in the world, without intermediaries). I could send
an email to you without using a public mail server, and I could include links to files in my computer without hosting them anywhere. For
instance. This is also privacy.
May I ask others out there what your IPv6 results were with Firefox?
My ISP does not provide IPv6 at all to homes. There was a Beta testing
of IPv6, and for two months I had it.
However, it does on mobile phones. On my phone I get an IPv6, and also
an IPv4 on the 10.*.*.* range, thus using GNAT.
Carlos E. R. wrote:
May I ask others out there what your IPv6 results were with Firefox?
My ISP does not provide IPv6 at all to homes. There was a Beta testing
of IPv6, and for two months I had it.
However, it does on mobile phones. On my phone I get an IPv6, and also
an IPv4 on the 10.*.*.* range, thus using GNAT.
Thanks Carlos for your information, as this entire endeavor was costly in terms of mistakes made and in the miserable investment in recovery efforts.
1. I permanently lost all Wi-Fi & VPN (due to pnputil /delete /force)
2. So I'm temporarily on a wireless bridge set up over Ethernet to the PC
3. Such that I have to rebuild Windows 10 using a MCT recovery method
While I learned a lot about IPv6, I found out it was all for naught!
I contacted my WISP this morning, and he confirmed he doesn't serve IPv6.
So the entire sordid sorry affair, for me, was a red herring after all.
I did learn a lot about IPv6 though, and how to block it, so it wasn't a total waste of effort, as everyone else can benefit from what we discussed.
The net summary in this PSA is still valid, which is that the way to
prevent IPv6 leaks is to not have IPv6 on your network in the first place.
1. Either we kill IPv6 at the ISP (by them not serving it)
2. Or, we kill IPv6 at the router (by blocking it entirely)
3. Or, we kill IPv6 at the host device
(but simply adding a bridge does NOT kill IPv6).
I had surmised that wrongly, because I couldn't find it after that.
But I had never looked before. Now I know it was never there.
4. Or, we can kill IPV6 at the application, such as about:config
5. Or, we can kill IPv6 using a VPN that "says" it kills IPv6!
In addition, if we don't kill IPv6, we can neuter it a bit.
6. We can "rotate" the sinister half of IPv6 with RFC 8981 extensions.
So, in this thread, I learned a lot because I never even thought about IPv6 until I tried to block it, and when it was gone, I "thought" the bridge killed it, but it turns out, embarrassingly, my WISP never provided it.
So, just as Carlos' situation showed him, IPv6 was never there.
Sigh.
Lesson(s) learned.
At least now we're all more familiar with what IPv6 is and what it does.
Nuno Silva wrote:
The host-level IPv6 participation is the root cause of IPv6 privacy
exposure. If the host never receives an IPv6 address, the browser cannot >>> reveal one.
Regarding wording: wouldn't the root cause be the VPN only providing
IPv4 and no IPv6? If you're using a VPN for privacy, then I'd chalk that
down as a flaw with the VPN, not with the rest of the system and network
working as expected.
I guess you'd have the same issue if you were on IPv4 with no NAT and
the VPN only offered IPv6.
It's a good point Nuno Silva brings up, where I think the VPN is not the
root cause because it happens all the time, so the root cause is higher.
As noted by Nuno, the VPN offering only IPv4 is part of the symptom, but
it's not the root cause because the problem exists with any browser too.
The underlying issue is whether the host participates in IPv6 at all.
While the issue happens with or without VPN in the mix, the underlying presumption when using VPN is that it's more critical not to be identified.
But once any host has a globally routable IPv6 address, any application can expose that address directly to the ISP, whether or not you want it to.
That's the privacy leak.
Given modern Mozilla/Chromium browsers prioritize IPv6 over IPv4,
the practical privacy issue discussed in this PSA isn't limited to VPNs.
The privacy leak occurs because the host has a IPv6 identity
available.
Hence, this PSA suggests the *simplest* effective privacy solution is...
modem <--> silent bridge <--> router <--> any device <--> any application
Although, there are other solutions, all of which are more complex (IMHO).
Aside from the cost of the hardware, the main downside of the silent bridge approach offered in this PSA is that it disables IPv6 entirely.
Anyone who actually relies on IPv6-only services would lose the capability. Would full loss of IPv6 be acceptable for most users on these
newsgroups?
Who here is actually using IPv6 for anything that would be impacted?
On 2026-07-21 08:59, Nuno Silva wrote:
Two things:
Yeah, if you want to remove IPv6 from the equation, if you have e.g. a
"router" device with a wireless AP that can be configured to handle (and
hand out) only IPv4, configuring it so and connecting through it would
be a way to be more confident that the issue wouldn't arise.
Were this another network application and protocol, I'd wonder what's
prompting the software to connect over IPv6, given the VPN should
provide DNS with IPv4 only, but I'm guessing this is about IPv6
addresses in bittorrent, either of peers or of trackers.
If the torrent application connects outside of the VPN, this is a bug
that should be reported to the app developers. Or to the developers of
the VPN software. I'm unsure which is at fault.
The privacy leak occurs because the host has a IPv6 identity
available.
I still stand by the point that the leak occurs because the VPN system somehow does not preclude usage of non-VPN routes. Now this might be
okay for some uses of VPNs, where the goal is to access internal
services (corporate, school), but not for others, where the goal is to
have a separate "environment" for network access.
Hence, this PSA suggests the *simplest* effective privacy solution is...
modem <--> silent bridge <--> router <--> any device <--> any application >>
Although, there are other solutions, all of which are more complex (IMHO). >>
Aside from the cost of the hardware, the main downside of the silent bridge >> approach offered in this PSA is that it disables IPv6 entirely.
Anyone who actually relies on IPv6-only services would lose the capability. >> Would full loss of IPv6 be acceptable for most users on these
newsgroups?
Who here is actually using IPv6 for anything that would be impacted?
Probably a few people who are behind NAT, or worse, CGNAT, but do get
IPv6 prefixes might have interest in retaining that connectivity.
Completely axing IPv6 also gets rid of link-local addresses, that can be useful for internal networking.
Not that I'm taking advantage of that on Android. (Yet. :-P)
If the torrent application connects outside of the VPN, this is a bug
that should be reported to the app developers. Or to the developers of
the VPN software. I'm unsure which is at fault.
If it's a VPN-specific software in a service promoting privacy or
anonimity, or if it's a non-provider-specific VPN software focusing on
that, then I'd say it's a fault in the VPN software. And, otherwise,
it'd be a feature request for the VPN software?
PSA:
IPv6 browser privacy leaks are caused by the host, yet there's a fix.
ISP modem > IPv6-silent bridge > normal home router > Wi-Fi devices
On all platforms, web browsers can leak your globally-routable IPv6 address (even when you're using a VPN). This IPV6 privacy leak happens because the browsers prefer IPv6 and the OS host itself participates in IPv6 routing.
Basically, if the host has a global IPv6 address, a browser can expose it.
Browsers leak IPv6... but bridges stop it cold!
Specifically, a silent bridge is a bridge that passes IPv4 but never hands out or forwards IPv6, so no device behind it ever gets a global IPv6
address. If the host never receives IPv6, the browser cannot leak IPv6.
Long story short, recently I delved into the *simplest* way to completely protect us (on any OS) from any web browser (Mozilla or Chromium) leaking IPV6 privacy (after recovering from a dreadful Windows IPV6 0xFF disaster).
Newsgroups: alt.comp.os.windows-10,alt.comp.microsoft.windows,alt.comp.os.windows-11
Subject: Have you ever disabled IPv6 for privacy (to prevent IP leaks)?
Date: Sat, 18 Jul 2026 12:47:22 -0400
Message-ID: <113gamq$ii0$1@nnrp.usenet.blueworldhosting.com>
There are lots of tricks, such as RFC 8981 IPV6 rotation privacy, but
here's the important part I learned when I fully disabled IPv6 (0xFF)
instead of only partially disabling it (0x20) as most people would do.
If a router is in bridge mode (no IPv6 delegation, no prefix assignment),
all connected devices never receive a global IPv6 address.
*No global IPv6 address = nothing for the browser to leak.*
This protects IPV6 privacy on all operating systems and all web browsers.
a. It doesn't matter which browser you use (Chromium, Firefox, etc.).
b. It doesn't matter which OS you use.
c. If the host never receives an IPv6 address, the leak cannot occur.
IMHO, this is the simplest way to eliminate IPv6 browser leaks:
Disable IPv6 at the router level by using a bridged configuration.
Host-level IPv6 participation is the root cause of IPV6 leaks.
Hence, if we remove the host from IPv6 routing, that IPV6 leak disappears!
In summary, the topic of this PSA is likely not discussed anywhere else on this planet, but what I just learned was this simple IPv6 privacy epiphany.
1. Browsers leak IPv6 because they prefer IPv6 when available.
2. If the host receives a global IPv6 address (via SLAAC or DHCPv6),
the browser may expose it even if IPv4 traffic is tunneled thru VPN.
3. However, bridge mode prevents prefix delegation, so hosts never
obtain global IPv6 addresses.
No IPv6 address = no IPv6 leak!
Who knew! Not me. Now I do!
As always, if you have a simpler solution, let's discuss it as the whole point of this thread is to ensure we can protect from IPv6 privacy leaks.
Because he is torrenting via a tunnel to VPN servers. Apparently the torrrent app bypasses the VPN and connects directly via IPv6, so his identity becomes known.
On 20/07/2026 20:59, Carlos E. R. wrote:
Because he is torrenting via a tunnel to VPN servers. Apparently the
torrrent app bypasses the VPN and connects directly via IPv6, so his
identity becomes known.
So he should complain about his VPN client then. NOT ABOUT IPv6.
What a cry baby.
As always, if you have a simpler solution, let's discuss it as the whole
point of this thread is to ensure we can protect from IPv6 privacy leaks.
You are spouting a load of meaningless gibberish.
It sounds like you are basically disabling IPv6 but coming up with a
load of complete rubbish to make it sound like you are doing something
more clever. YOU ARE NOT DOING ANYTHING OTHER THAN DISABLING IPv6.
Fundamentally, RFC 8981 turns IPv6 issues back into IPv4 privacy
issues. Kind of sort of but not exactly.
My ISP provides IPV6. I switched on ProtonVPN on Android and visited
ip.wtf and test-ipv6.com and they say there is no ipv6 address. (Brave browser). But without the VPN switched on there is an ipv6 address which
I recognise as on my own network.
Quick update, I got connected to Norway and got an IPv6 address, but it
is not one of mine, it is different at the top level. It must be
Proton's. Same results with Firefox.
I am not sure what PSA is about, but if you are using VPN then it should
hide your IPv6 address and either not provide one or provide one of its
own, and that is what ProtonVPN is doing for me on Android. If it is
letting your own IPv6 address through then it is broken. But as your ISP doesn't provide IPv6 I think something else must be going on.
Torrenting on VPN with a bittorrent client aside, IPv6 is more revealing in >> the sense that it gives each device a unique, stable & too public identity >> unless privacy extensions are used (and even those don't fully hide the
device). So it still behooves all of us to protect against IPv6 leaks.
If what you're trying to avoid is legal action from the MAFIAA or
actions from the ISP itself, then it really doesn't matter if it's the
NATed IPv4 address which gets leaked or an IPv6 one. Both would point to
your subscription with the ISP.
Brian Gregory wrote:
As always, if you have a simpler solution, let's discuss it as the
whole point of this thread is to ensure we can protect from IPv6
privacy leaks.
You are spouting a load of meaningless gibberish.
It sounds like you are basically disabling IPv6 but coming up with
a load of complete rubbish to make it sound like you are doing
something more clever. YOU ARE NOT DOING ANYTHING OTHER THAN
DISABLING IPv6.
Hi Brian Gregory,
Thank you for being blunt, as there is no doubt you are right about
this. I was wrong.
The reason I was wrong was simply that I read too much into the fact
that I couldn't find IPv6 once I set up the bridge after wiping out
my network, but, in reality, I didn't check the network well before I
wiped it out.
The bridge, as bridges are wont to do, did nothing to the IPv6
address!
And the only reason I set up the bridge was because I wiped out
networking in my attempt to rip the heart out of Windows IPv6 routing capability.
I wrote up a recovery checklist so that anyone following this thread
has all the steps necessary to wipe out IPv6 properly (hex 20) from
Windows.
And Carlos wrote up the steps so that anyone on Linux can follow suit.
Plus, I added the steps necessary to wipe IPv6 out of the Firefox
browser.
So there is a *lot* of good value which came of this IPv6 privacy
effort. Thanks again for not beating around the bush to let us know
what you think!
So there is a *lot* of good value which came of this IPv6 privacy
effort. Thanks again for not beating around the bush to let us know
what you think!
You shouldn't disable IPv6. It is the current generation of Internet Protocol. Rather then disabling it just turn on IPv6 privacy.
sysctl net.ipv6.conf.eth0.use_tempaddr = 2
If your VPN doesn't support IPv6 that's your VPN's problem. Switch to
one that does. NAT was never intended as a privacy or security feature.
When it set use_tempaddr to 2 you use different addresses for outgoing connections and those addresses expire after a certain (configurable)
amount of time. Disabling IPv6 and only using a legacy protocol just
because you don't understand it is like shooting yourself in the foot.
Don't do it.
The problem, as I see it, wrt privacy, is while IPv4 (with NAT) gave every home a unique IP address, IPv6 gives every device a unique IP address.
As you astutely and helpfully noted, we can ameliorate 'some' of that IPV6 privacy flaw by employing RFC 8981 privacy extensions, but they only rotate the latter half of the IPv6 address & even so, only after a period of time.
agris wrote:
So there is a *lot* of good value which came of this IPv6 privacy
effort. Thanks again for not beating around the bush to let us know
what you think!
You shouldn't disable IPv6. It is the current generation of Internet
Protocol. Rather then disabling it just turn on IPv6 privacy.
sysctl net.ipv6.conf.eth0.use_tempaddr = 2
If your VPN doesn't support IPv6 that's your VPN's problem. Switch to
one that does. NAT was never intended as a privacy or security feature.
When it set use_tempaddr to 2 you use different addresses for outgoing
connections and those addresses expire after a certain (configurable)
amount of time. Disabling IPv6 and only using a legacy protocol just
because you don't understand it is like shooting yourself in the foot.
Don't do it.
This thread has been a learning experience for me & hopefully for others.
To be clear, I'll never disagree with a logically defensible viewpoint.
While NAT was never a security feature and while IPv6 is a modern Internet protocol, we must agree RFC 8981 privacy extensions exist for a reason.
As you noted, RFC 8981 enabling of IPv6 Privacy Extensions generates temporary, randomized outgoing addresses which rotate periodically.
sysctl net.ipv6.conf.eth0.use_tempaddr = 2
Meanwhile, the stable IPv6 address remains available for inbound
connections, but outbound traffic uses those ephemeral identities. .
With that in mind, this is one of those technical debates where smart
people land on different sides because the trade-offs aren't trivial.
a. VPN leaks are a real, practical concern.
b. IPv6 privacy extensions aren't a magic shield.
c. Some users simply don't need IPv6 yet.
Whether unilaterally disabling IPv6 is "shooting yourself in the foot" depends on whether or not we need IPv6 in the first place. Do we?
I would ask everyone here who cares about this topic to ask themselves...
Q1: Do you use any services, apps, or devices that require direct
inbound connections from the internet (such as hosting a game server,
running a self-hosting services, or accessing your network remotely)? Q2: Do you ever use a VPN (either always, often, or occasionally)
for privacy, work, or bypassing geo-restrictions?
Q3: When you use VPNs, is your priority mainly IP obfuscation or security? Q4: Does your ISP currently give you an IPv6 address?
Q5: Do you ever connect multiple devices through your home network
(PC, phone, tablet, smart TV, etc.) and care about them communicating
smoothly with each other (such as with file sharing, casting, local
streaming, or LAN gaming)?
Q6: Do you ever use modern devices or apps that require IPv6 to work
such as smart-home devices, peer-to-peer apps, or anything that
requires "IPv6 connectivity" in its settings?
The point of these questions is to ascertain if we even need IPv6.
For example,
a. I do not host anything that needs IPv6
b. I don't have apps that require IPv6
c. My WISP doesn't even give me IPv6
d. I bittorrent only through a VPN
e. When I switch networks (e.g., a hotspot) I only care about privacy
So, in my case, IPv6 adds no value and only leaks my real identity.
Even if my ISP does not give me IPv6, my devices device (Windows, Linux, Android, etc.) & browsers will still try to use IPv6 whenever possible.
At home, IPv6 is NOT a privacy threat because there is nothing to leak.
But when my device is *outside* my network (admittedly, that's for laptops and phones), the device will happily use IPv6 which leaks our identities.
When I go to the public library and connect my phone & laptop to their
Wi-Fi network, the laptop & phone get an IPv6 address which websites see.
But the latter half of that IPv6 address is unique to the device!
However, when I just looked that up, I found something we haven't stated.
A. Android rotates temporary IPv6 addresses regularly
B. Windows 10/11 generates temporary IPv6 addresses by default
C. Most Linux variants enable IPv6 privacy extensions by default
Android, Windows, and modern Linux all use temporary IPv6 addresses!
By default.
Windows uses two timers:
a. Preferred lifetime (generally 24 hours)
b. Valid lifetime (generally 7 days)
Android rotates temporary IPv6 addresses every 24 hours.
Modern Linux distros ship with:
net.ipv6.conf.default.use_tempaddr = 2
net.ipv6.conf.all.use_tempaddr = 2
a. Preferred lifetime (generally 24 hours)
b. Valid lifetime (generally 7 days, but this isn't used in most Linux's)
Since our IPv6 temporary address (RFC 8981) lasts ~24 hours, we're
trackable if we, for example visit the same network twice in a day.
Two visits to the same website on the same day, from home, could be linked.
a. With IPv4 they know it's the same household.
b. With IPv6 they know it's the same device.
Please correct me if I'm wrong, as the whole point is to understand IPv6.
On 22/07/2026 21:46, Maria Sophia wrote:
The problem, as I see it, wrt privacy, is while IPv4 (with NAT) gave every >> home a unique IP address, IPv6 gives every device a unique IP address.
As you astutely and helpfully noted, we can ameliorate 'some' of that IPV6 >> privacy flaw by employing RFC 8981 privacy extensions, but they only rotate >> the latter half of the IPv6 address & even so, only after a period of time.
And, of course, for most people, with only one LAN, using only a
single /64 the first half of the IPv6 address gives away no more than
your IPv4 address gives away -- that it's something of yours.
Although I always run dual stack when I can and tend to urge others to--
do so too, I do accept that running IPv4 only is a valid option if you
have certain priorities, that differ from mine.
The problem, as I see it, wrt privacy, is while IPv4 (with NAT) gave every >>> home a unique IP address, IPv6 gives every device a unique IP address.And, of course, for most people, with only one LAN, using only a
As you astutely and helpfully noted, we can ameliorate 'some' of that IPV6 >>> privacy flaw by employing RFC 8981 privacy extensions, but they only rotate >>> the latter half of the IPv6 address & even so, only after a period of time. >>
single /64 the first half of the IPv6 address gives away no more than
your IPv4 address gives away -- that it's something of yours.
Although I always run dual stack when I can and tend to urge others to
do so too, I do accept that running IPv4 only is a valid option if you
have certain priorities, that differ from mine.
Yeah, if you're in a context where IPv4 is NATed at your premises
because the ISP hands you one address, and you also get IPv6 prefix delegation, then... it's the same thing, your IPv4 address identifies
the connection, as does the prefix present in the RAs.
The part that is "rotated" or otherwise randomized in such
privacy-centered SLAAC configurations is the one that'd allow tracking
the *device*, not the connection.
That's not meant to stop tracking your e.g. residential connection, it's meant to stop tracking the device based on the device-specific portion
of the address, which without this may e.g. contain the MAC address.
<https://en.wikipedia.org/wiki/IPv6_address#Interface_identifier>
But for e.g. MAFIAA this only matters if you're not using your own connection, because otherwise you've already been identified by the
delegated prefix, they'd pester you the same.
Do note: the prefix used in SLAAC isn't (or shouldn't be...) something a residential ISP uses for several costumers, it's meant to be one prefix
for each contract/ISP connection/modem.
Although I always run dual stack when I can and tend to urge others to
do so too, I do accept that running IPv4 only is a valid option if you
have certain priorities, that differ from mine.
Two visits to the same website on the same day, from home, could be linked. >> a. With IPv4 they know it's the same household.
b. With IPv6 they know it's the same device.
Please correct me if I'm wrong, as the whole point is to understand IPv6.
Sounds right.
In theory you can change things so that RFC 8981 privacy addresses
change more often, but I believe it isn't often simple to do and can
cause unexpected problems in certain situations. Plus, of course, it has
to be done once on each device you want to keep private.
In message <113kg6k$s72$1@nnrp.usenet.blueworldhosting.com>
Maria Sophia <mariasophia@comprehension.com> wrote:
PSA:
IPv6 browser privacy leaks are caused by the host, yet there's a fix.
ISP modem > IPv6-silent bridge > normal home router > Wi-Fi devices
On all platforms, web browsers can leak your globally-routable IPv6
address (even when you're using a VPN). This IPV6 privacy leak happens
because the browsers prefer IPv6 and the OS host itself participates in
IPv6 routing.
I don't understand why you think there's a problem. Very much the whole point of IPv6 is that all your globally routable IPv6 addresses are,
well, globally routable. I'd be happy for the whole world to know what
mine are.
The only ports that are open on any of these addresses to incoming connections are as a result of my opening a pinhole in the firewall.
So, knowing your globally routable addresses is one thing. Allowing connections in to any of them is entirely another matter.
David
NSA-coded post right here lol.
On 2026-07-20 08:45, Maria Sophia wrote:
If a router is in bridge mode (no IPv6 delegation, no prefix assignment),
all connected devices never receive a global IPv6 address.
-a-a-a-a *No global IPv6 address = nothing for the browser to leak.*
Look up Teredo, in Windows.
In Linux, disabling Ipv6 is feasible.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 52:23:58 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,091 |