Wi-Fi & Network
IPv6 is breaking sites or slowing them
Some sites hang or load slowly, or a VPN leaks? Find out whether IPv6 is actually the cause, fix the real fault, and know when disabling it is just a band-aid.
Problem summary
Most 'IPv6 problems' are a broken IPv6 path (MTU black-hole or slow dual-stack fallback) or a VPN leaking over IPv6 — not IPv6 itself. Prove whether IPv6 is the cause, fix the actual fault, and treat disabling IPv6 as a temporary diagnostic, not the fix.
Compare the two stacks to the same site: curl -6 / ping -6 vs curl -4 / ping -4, and run test-ipv6.com.
curl -6 -m 5 https://example.com ; curl -4 -m 5 https://example.com
IPv4 works while IPv6 fails or is much slower.
Never blanket-block ICMPv6 to 'lock down' IPv6 — it breaks neighbor discovery and PMTUD.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Confirm it's IPv6, not everything
Check: Run curl -6 vs curl -4 to the same site and test-ipv6.com.
Expected result: IPv4 is healthy while IPv6 fails or is slow.
If not: If both fail, stop — treat it as general connectivity/DNS, not IPv6.
Classify the symptom
Check: Decide whether it's a hang-then-load (MTU/fallback), a VPN leak, an inbound-unreachable host, or all-IPv6-slow.
Expected result: You know which fault class you're in.
If not: Mixed symptoms? Handle each separately and re-test between.
Fix MTU / ICMPv6 for hangs
Check: Stop filtering ICMPv6 'Packet Too Big' on the router/host, or clamp MTU/MSS (~1400) on the link.
Expected result: The hang disappears and large IPv6 transfers complete.
If not: If it persists, verify the broken hop with a -6 traceroute before changing more.
Stop VPN IPv6 leaks at the VPN, not the OS
Check: In the VPN client, enable IPv6 handling or have it block IPv6 while connected.
Expected result: IPv6 no longer escapes the tunnel.
If not: Avoid a permanent system-wide IPv6 disable just to plug a VPN leak.
Treat unreachable-inbound as firewall, not breakage
Check: If a device is unreachable over IPv6 from outside, recognize the stateful firewall is blocking unsolicited inbound (no NAT in IPv6); add a narrow allow only to expose it intentionally.
Expected result: You either accept the protection or expose just that one address/port.
If not: Never blanket-block all ICMPv6 to 'secure' IPv6 — it breaks NDP/PMTUD.
If you must de-prioritize IPv6, prefer IPv4 (don't disable)
Check: On Windows set 'prefer IPv4 over IPv6' (DisabledComponents=0x20) rather than unbinding IPv6; re-enable normal behavior after fixing the root cause.
Expected result: The immediate symptom eases without breaking IPv6-dependent components.
If not: If you disabled IPv6 to test, turn it back on once the path is fixed.
Decision tree
If: IPv4 fine, IPv6 to the same site fails or is slow.
Then: It's an IPv6 path problem, not IPv6 itself.
Action: Fix the path (ICMPv6/MTU, route, prefix); use disable-IPv6 only as a temporary confirmation test.
If: Sites hang briefly then load.
Then: Slow dual-stack fallback or a PMTUD black-hole.
Action: Stop filtering ICMPv6 'Packet Too Big', or clamp MTU/MSS (~1400); don't blanket-block ICMPv6.
If: IPv6 leaks past a connected VPN.
Then: The VPN only tunnels IPv4.
Action: Configure the VPN for IPv6 or have it block IPv6 while connected — not a permanent system-wide IPv6 disable.
If: One device unreachable inbound over IPv6.
Then: The stateful firewall is correctly blocking unsolicited inbound (no NAT in IPv6).
Action: Add a narrow inbound allow to that device's address if you actually want it exposed; otherwise leave it.
Safe stop: Never blanket-block ICMPv6 to 'lock down' IPv6 — it breaks neighbor discovery and PMTUD.
If: You need a quick workaround on Windows right now.
Then: Disabling is risky/discouraged; preferring IPv4 is safer.
Action: Set 'prefer IPv4 over IPv6' rather than unbinding IPv6, then fix the underlying path.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| Some sites hang then load. | curl -6 vs -4 timing; whether large transfers stall; ICMPv6 filtering. | PMTUD black-hole / fallback | Allow ICMPv6 Packet-Too-Big or clamp MSS; re-test. |
| VPN connected but IPv6 shows real ISP address. | IPv6 address at a what-is-my-ip site with VPN up. | IPv6 leak around IPv4-only VPN | Configure/Block IPv6 in the VPN client, not a system disable. |
| One host unreachable inbound over IPv6. | Outbound-works/inbound-blocked test; router firewall rules. | Firewall (working as designed) | Add a specific inbound allow only if exposing it intentionally. |
| All IPv6 slow or failing. | Router IPv6/prefix-delegation status; RA/DNS advertised. | Route / prefix / RA | Check the router's IPv6 WAN + prefix; fix the misconfigured advertisement. |
Commands and settings paths
IPv6 vs IPv4 to the same site
curl -6 -m 5 https://example.com ; curl -4 -m 5 https://example.com
Where: On the affected device.
Expected: Both succeed quickly; if -6 hangs/fails while -4 is fine, IPv6 is the layer.
Failure means: A slow/failed -6 with a fine -4 isolates the problem to the IPv6 path.
Safe next step: Pursue MTU/ICMPv6 (hangs) or route/prefix (hard fail) — not a permanent disable.
Browser-level IPv6 health
Open https://test-ipv6.com
Where: On the affected device's browser.
Expected: A high score with no warnings; a low score or 'no IPv6' flags the fault area.
Failure means: Specific warnings (e.g. large-packet/MTU) point straight at the cause.
Safe next step: Address the flagged item (MTU, no DNS, broken route) rather than disabling IPv6.
Windows: prefer IPv4 (softer than disabling)
netsh interface ipv6 show prefixpolicies (verify before/after a prefer-IPv4 change)
Where: On a Windows host where IPv6 is misbehaving.
Expected: Prefix policies reflect your intended IPv4/IPv6 preference.
Failure means: If you change it, use the documented DisabledComponents=0x20 (prefer IPv4), never 0xFFFFFFFF.
Safe next step: Re-enable normal behavior once the underlying path is fixed.
Check the router's IPv6/prefix state
Router admin > WAN/Internet > IPv6 status (prefix delegation / RA)
Where: In the router admin UI.
Expected: The router has a valid IPv6 prefix and is advertising a sane RA/DNS.
Failure means: No prefix or a rogue RA/DNS explains all-IPv6-slow or DNS issues.
Safe next step: Fix the prefix-delegation/RA settings or contact the ISP if the WAN has no IPv6.
Hardware and platform boundary
Change only when
- Replace or reconfigure a router that can't pass IPv6 cleanly (no working prefix delegation, can't stop filtering ICMPv6) if your ISP is IPv6-mostly and IPv4 is increasingly behind CGNAT.
Evidence that matters
- A router with proper DHCPv6-PD/SLAAC support, a sane default IPv6 firewall (blocks unsolicited inbound, allows established + ICMPv6), and the ability to hand out the right DNS over RA/DHCPv6.
Evidence that does not matter
- Turning IPv6 off as a 'feature' — modern OSes expect it, and IPv6 is what gives clean end-to-end reachability where CGNAT broke IPv4.
Avoid
- Blanket-blocking ICMPv6, unbinding IPv6 from the adapter (unsupported on Windows), or using DisabledComponents=0xFFFFFFFF (causes a startup delay).
Related tool/checklist
Use the linked tool when you need a guided plan from your exact symptoms instead of a static checklist.
Device setup troubleshooterRelated problems
Last reviewed
2026-06-02 · Reviewed by HomeTechOps. Built from June-2026 research verified against Microsoft's IPv6-configuration guidance (don't disable; prefer-IPv4 alternative), RFC 8305 (Happy Eyeballs), and NIST SP 800-119 (NAT is not the security control). Frames disabling IPv6 as a temporary diagnostic, not a fix, and treats inbound-unreachable as the firewall working as designed.
Sources/assumptions
- Assumes a dual-stack home (your ISP hands out both IPv4 and IPv6) and a modern OS where IPv6 is on by default.
- Microsoft advises against disabling IPv6 in Windows; prefer the 'prefer IPv4' setting over unbinding it — disabling can break components.
- Specific behaviors (Happy Eyeballs fallback timing, CLAT support) differ by OS; verify against first-party docs for your platform.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.