IPv6 enabled but broken: slow connections / Happy Eyeballs Networking Origin: Network OSI layer 3 · Network Last updated 5 Nov 2026

Networking: Sites load slowly or hang for seconds — broken IPv6 (AAAA resolves, IPv6 route missing) falling back to IPv4

The client prefers IPv6, but the IPv6 path is broken, so every connection waits for a timeout before using IPv4.

Exact message you may see IPv6 broken slow connectionsHappy Eyeballs fallback delaycurl: (7) Failed to connect to 2606:4700 port 443: Network is unreachableconnect to 2a00 port 80 failed: Network is unreachableIPv6 timeout then IPv4 works
Seen on: Linux Windows Networking

Meaning

DNS returns an AAAA record, the host tries IPv6 first, and a missing IPv6 default route, blocked ICMPv6 or firewall makes it fail. Test with curl -6 vs curl -4; fix the IPv6 route and firewall (allow ICMPv6), or disable IPv6 on that network/interface if you can't fix it.

Common causes

  • IPv6 address but no working IPv6 default route
  • Firewall blocking ICMPv6 (neighbour/RA/PMTU)
  • ISP or VPN IPv6 half-working
  • Router advertises IPv6 without upstream connectivity
  • AAAA record pointing at a server that isn't listening on IPv6

⚡ Quick fix

  1. Compare curl -4 -I url and curl -6 -I url
  2. Allow ICMPv6 and fix the IPv6 route
  3. As a workaround, disable IPv6 on the interface

Detailed fix by platform

Linux

  1. bash
    curl -4 -sI -o /dev/null -w "%{time_total}
    " https://example.com
    curl -6 -sI -o /dev/null -w "%{time_total}
    " https://example.com

How to diagnose

  1. curl -6 — Slow/failing?
  2. IPv6 route — Present?
  3. ICMPv6 — Allowed?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Network. Errors that are often confused with or caused by this one (click to open):

dig: status: REFUSED (recursion not available) — Networking: dig: status: REFUSED / recursion requested but not available — the DNS server won't resolve queries for you (Networking)dig: status: REFUSED …dig: status: SERVFAIL (DNSSEC validation failed) — Networking: dig: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL — resolver failed to answer (DNSSEC validation or upstream failure) (Networking)dig: status: SERVFAIL…DNS lookups take 5 seconds (timeout then retry) — Networking: Every connection pauses about 5 seconds — resolv.conf nameserver timeout, then fallback to the next DNS server (Networking)DNS lookups take 5 se…Domain still resolves to the old IP (DNS propagation/cache) — Networking: DNS changed but the domain still resolves to the old IP — TTL and resolver caching ("propagation") (Networking)Domain still resolves…ERR_ADDRESS_UNREACHABLE — Chrome: This site can’t be reached — The webpage at https://… might be temporarily down. ERR_ADDRESS_UNREACHABLE (Browser)ERR_ADDRESS_UNREACHAB…ERR_CONNECTION_TIMED_OUT — ERR_CONNECTION_TIMED_OUT: This site can’t be reached — example.com took too long to respond (Browser)ERR_CONNECTION_TIMED_…Internal hostnames fail on VPN (split DNS / systemd-resolved) — Networking: VPN connected but internal names like db.corp.local don't resolve — split DNS / 127.0.0.53 stub resolver not using the VPN DNS (Networking)Internal hostnames fa…Network is unreachable — connect: Network is unreachable (ENETUNREACH) (Linux)Network is unreachableIPv6 enab…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.