What Does It Mean If IPv6 Is Enabled But Not Working?
Quick Answer
When IPv6 is "enabled but not working," it means your device has IPv6 turned on and may even have an IPv6 address assigned, but it cannot successfully communicate with IPv6-enabled websites and services. This is known as broken IPv6 or non-functional IPv6, and it's actually worse than having no IPv6 at all because it causes connection delays and timeouts.
Understanding Enabled vs. Functional IPv6
Enabled IPv6
- IPv6 is turned on in your operating system settings
- Your device has an IPv6 address assigned (may be local or global)
- IPv6 appears in your network adapter configuration
- Your OS shows "IPv6 Connectivity: Connected" or similar status
Functional IPv6
- Your device can actually reach IPv6-enabled websites
- IPv6 packets successfully traverse your entire network path
- No timeouts or connection failures when using IPv6
- Fast response times comparable to IPv4
The critical difference: enabled means it's configured; functional means it actually works end-to-end.
Why Broken IPv6 Is Problematic
When IPv6 is enabled but broken, your internet experience suffers in several ways:
Connection Delays: Modern browsers prefer IPv6 over IPv4. When IPv6 is available but broken, the browser attempts IPv6 first, waits several seconds for it to timeout, then falls back to IPv4. This adds 3-10 seconds to every website load.
Some Sites Won't Load: Certain applications and websites may fail completely if IPv6 times out rather than failing fast.
Intermittent Issues: You may experience inconsistent connectivity where some sites work fine (IPv4-only) while others are slow or fail (dual-stack sites that offer both protocols).
Poor User Experience: Video streaming, gaming, and real-time applications suffer the most from IPv6 timeout delays.
Common Causes of Broken IPv6
1. ISP-Level Problems
Incomplete IPv6 Deployment
Many ISPs have partially deployed IPv6 but haven't fully tested or activated it for all customers. You might receive an IPv6 address but lack proper routing to the broader IPv6 internet.
Symptoms:
- You have a global IPv6 address (starts with 2xxx:xxxx)
- IPv6-only sites timeout or fail
- ISP's IPv6 gateway is unreachable
Solution:
- Contact your ISP to verify IPv6 support status
- Ask specifically about IPv6 routing and gateway configuration
- Request they test your connection from their end
- Consider switching ISPs if IPv6 is critical for your needs
2. Router and Gateway Issues
Outdated Firmware
Many home routers received IPv6 support through firmware updates, but older firmware versions may have bugs or incomplete implementations.
Configuration Problems
- IPv6 enabled but not configured for your ISP's requirements
- Wrong IPv6 prefix delegation settings
- Disabled Router Advertisement (RA) messages
- ULA (Unique Local Addresses) enabled without proper internet connectivity
Symptoms:
- Devices show IPv6 addresses starting with "fe80::" (link-local only)
- Devices show addresses starting with "fc00::" or "fd00::" (private, non-routable)
- No default IPv6 route to internet
- Router shows IPv6 WAN address but clients can't communicate
Solutions:
- Update router firmware to latest version
- Reset IPv6 settings to defaults and reconfigure
- Verify ISP's IPv6 configuration requirements (DHCPv6 vs SLAAC)
- Disable ULA if you don't have stable IPv6 connectivity
- Check that Router Advertisements are enabled and broadcasting
3. Firewall Blocking
ICMPv6 Filtering
IPv6 relies heavily on ICMPv6 for critical functions like neighbor discovery, router discovery, and Path MTU Discovery. Unlike IPv4 where ICMP is often safely blocked, blocking ICMPv6 breaks IPv6 functionality.
Overly Restrictive Rules
- Software firewalls (Windows Firewall, antivirus suites) may block IPv6 by default
- Router firewalls may not have proper IPv6 rules configured
- Corporate firewalls intentionally blocking IPv6 for "security"
Symptoms:
- Connection timeouts to IPv6 sites
- Partial page loads
- IPv6 ping fails but IPv4 ping works
- High latency on IPv6 connections
Solutions:
- Allow ICMPv6 types 1, 2, 3, 4, 128, 129, 133, 134, 135, 136 at minimum
- Configure IPv6-specific firewall rules (don't just copy IPv4 rules)
- Temporarily disable firewall to test if it's the cause
- Check that "protocol 41" is allowed if using tunnels
- Review antivirus/security software IPv6 settings
4. MTU and Fragmentation Issues
Path MTU Discovery Failures
When firewalls block ICMPv6 "Packet Too Big" messages (type 2), Path MTU Discovery fails. This causes large packets to be dropped silently.
Symptoms:
- Small requests work (DNS queries, ping)
- Large transfers fail (web pages, downloads)
- Inconsistent connectivity depending on packet size
Solutions:
- Allow ICMPv6 type 2 (Packet Too Big) through all firewalls
- Manually reduce MTU on your interface to 1280 (IPv6 minimum)
- Test with different packet sizes:
ping6 -s 1232 test-ipv6.run
5. DNS Configuration Problems
IPv6-Capable DNS Servers Missing
Your DNS server might not support AAAA record queries or may have IPv6 connectivity issues itself.
Symptoms:
- Can ping IPv6 addresses directly but can't resolve hostnames
- Slow DNS resolution
- Inconsistent name resolution
Solutions:
- Configure IPv6-capable DNS servers (Google: 2001:4860:4860::8888, Cloudflare: 2606:4700:4700::1111)
- Verify DNS servers are reachable via IPv6
- Test AAAA record lookups:
nslookup -type=AAAA test-ipv6.run
6. Operating System Issues
Outdated Network Drivers
Network adapter drivers may have IPv6 bugs or incomplete support in older versions.
Corrupted Network Stack
Windows registry corruption or configuration errors can break IPv6 specifically.
Symptoms:
- IPv6 shows "No network access" while IPv4 works
- Cannot obtain IPv6 address via SLAAC
- Local IPv6 addresses only (fe80::)
Solutions:
- Update network adapter drivers from manufacturer
- Reset network stack (Windows:
netsh winsock reset, netsh int ipv6 reset)
- Disable and re-enable IPv6 adapter
- Check for OS updates that include IPv6 fixes
Diagnosing Your Specific Problem
Step 1: Run a Comprehensive Test
Visit test-ipv6.run for a complete diagnosis. This tool performs six parallel tests:
The test will specifically identify if you have broken IPv6 (enabled but timing out), which scores 0/10 and appears in red.
Step 2: Check Your IPv6 Address Type
Look at your assigned IPv6 address:
Step 3: Test Basic Connectivity
# Ping an IPv6-only server
ping6 ipv6.google.com
# Trace the route
traceroute6 test-ipv6.run
# Check your routing table
ip -6 route (Linux)
netsh interface ipv6 show route (Windows)
Step 4: Test DNS Resolution
# Query AAAA records
nslookup -type=AAAA test-ipv6.run
# Verify your DNS server supports IPv6
dig AAAA test-ipv6.run @2001:4860:4860::8888
Step 5: Check Firewall Rules
# Linux: Check ip6tables rules
sudo ip6tables -L -v
# Windows: Check firewall status
netsh advfirewall show allprofiles
Solutions for Common Scenarios
Scenario 1: ISP Doesn't Fully Support IPv6
Best Solution: Contact ISP and request proper IPv6 support or disable IPv6 entirely to avoid timeouts.
Temporary Workaround: Disable IPv6 on your device to prevent connection delays.
Scenario 2: Router Configuration Issues
Solution:
- Log into router admin panel
- Check IPv6 settings under WAN/Internet configuration
- Verify correct mode (usually DHCPv6-PD or SLAAC)
- Ensure Router Advertisements are enabled
- Save settings and reboot router
Scenario 3: Firewall Blocking
Solution:
- Create specific allow rules for ICMPv6
- Allow IPv6 traffic on ports 80, 443 for basic web browsing
- Test with firewall temporarily disabled to confirm
- Re-enable with proper rules
Scenario 4: Windows "No Network Access"
Solution:
# Run as Administrator
netsh winsock reset
netsh int ipv6 reset
ipconfig /flushdns
# Restart computer
Scenario 5: Getting Only Link-Local Addresses
Solution:
- Check router's IPv6 WAN status (should have global address)
- Verify Router Advertisements are enabled
- Restart DHCP client service
- Check for MAC address filtering or client isolation
When to Disable IPv6
You should consider disabling IPv6 if:
- Your ISP doesn't support it and you're getting timeouts
- Your router is too old for proper IPv6 support
- Troubleshooting confirms IPv6 is causing application failures
- Corporate policy requires IPv4-only
- You need immediate stable connectivity and can't fix IPv6 issues
How to Disable IPv6:
- Windows: Network adapter properties → uncheck "Internet Protocol Version 6"
- macOS: System Preferences → Network → Advanced → TCP/IP → Configure IPv6: Off
- Linux: Edit
/etc/sysctl.conf, add net.ipv6.conf.all.disable_ipv6 = 1
- Router: Admin panel → IPv6 settings → Disable
Recommended Testing and Monitoring
Initial Diagnosis
- Visit test-ipv6.run for comprehensive testing
- Review your score and specific test results
- Note any "broken IPv6" warnings (score 0/10, red indicator)
After Making Changes
- Retest at test-ipv6.run
- Verify dual-stack test passes (most critical)
- Check that IPv6 latency is reasonable (<100ms for most sites)
- Confirm no timeout warnings
Ongoing Monitoring
- Retest monthly to catch ISP or router issues
- Test after firmware updates
- Test when experiencing slow connectivity
Conclusion
IPv6 being "enabled but not working" is a common problem that creates a worse user experience than having no IPv6 at all. The key is identifying whether the issue is at your ISP, router, firewall, or OS level, then applying the appropriate fix. Use comprehensive testing tools like test-ipv6.run to diagnose the specific problem, and don't hesitate to contact your ISP if the issue is on their end.
Remember: Broken IPv6 scores 0/10 because it actively degrades your internet experience through timeouts and delays. It's better to have working IPv4-only than broken dual-stack.
For comprehensive IPv6 connectivity testing and diagnosis, visit test-ipv6.run