1

If I visit https://ipv6-test.com/ the site tells me that IPv6 connectivity is not supported.

How can I diagnose which component(s) fail in their IPv6 support?

As far as I can see the chain goes something like this:

+---------+     +----+     +--------+     +-----+     +------+
| Browser | --> | OS | --> | Router | --> | ISP | --> | Site |
+---------+     +----+     +--------+     +-----+     +------+

If any one of those items does not support IPv6 then IPv6 support will be unavailable. But how can I tell which one is causing the failure?

(fwiw I am using Firefox on Windows 10, but I am looking for a general solution that would apply to other browsers and other Windows versions - maybe even other OSes, if appropriate.)

2
  • You can check the local components: Browser, OS, router. You can call your ISP. It's just the regular network troubleshooting process, I'd say.
    – Daniel B
    Aug 23, 2022 at 12:56
  • Yeah, start with an IPv6 ping and go from there.
    – mtak
    Aug 23, 2022 at 13:13

2 Answers 2

2

Start in the middle: Does your computer have an IPv6 address that it could use?

The assumption is that the browser and OS nowadays have IPv6 support unless removed, but each ISP needs to deploy IPv6 to their network individually.

So first look at ipconfig /all or ip addr to check whether you have a global IPv6 address, and an IPv6 gateway. Currently global addresses start with 2xxx:, whereas fxxx are several different types of local addresses.

If you have an IPv6 address, check if you can ping servers both by their domain name and by their IPv6 address. (Sprint's website is at 2600:: which is a convenient test address.) If you can – IPv6 might be disabled in your browser; if you cannot – IPv6 might be broken in your router or blocked by one of those VPN apps which consider IPv6 support a "leak".

If you can ping sites by address but not by name, make sure your DNS server doesn't filter AAAA records, as is commonly done by software such as PiHole or certain VPNs. It doesn't matter whether the actual DNS server is IPv4-only, that doesn't affect its ability to give out AAAA records, e.g. nslookup -q=aaaa google.com 8.8.8.8.)

If you don't have an IPv6 address, check whether your router does (both on its WAN and LAN interfaces). It needs to get a global WAN address for itself (this part can vary between ISPs), then a global prefix for your LAN (using DHCPv6-PD). It might not have an address simply because your ISP hasn't rolled out IPv6 yet (either in your area or at all).

2
  • Great first answer - I will do a bit of testing of those various things tonight and get back to you. One thing - the third paragraph of your answer seems to end unexpectedly. What did you intend to say, there?
    – HappyDog
    Aug 23, 2022 at 13:56
  • Had a chance to try the above. I haven't diagnosed my problem, but I can see that these commands answer the question and they are helping me pinpoint where the issues lie. Once you've had a chance to tidy up that third paragraph, I'd be happy to accept this answer.
    – HappyDog
    Aug 25, 2022 at 12:20
0

In my experience, it's most often the ISP that needs to enable IPv6 for you first, then you set it up on your router. Your devices will pick it up then unless somebody has disabled IPv6-related features on their own.

Ask your ISP for your IPv6 details. They will enable it as needed and send you these important details:

• WAN IP with mask,

• LAN prefix, also with mask, sometimes called the prefix length. Remember that while the prefix ends with ::, you have to add a non-zero number after that that will make it a valid IP, such as 1 if the router accepts a field like LAN IPv6 address.

You then configure these on your router. Make sure to enable radvd.

If you want good operation with IPv6-only clients, you will have to add custom fields in the radvd response by creating your custom radvd.conf file. The most important being RDNSS. To provide support for buggy Windows 7 clients set to use IPv6 only, add the address fec0:0:0:ffff::1 to your router LAN interface, such as br0. That's because Windows 7 ignores the DNS specified by the route-advertising packet and uses this one instead.

Another field you might consider adding is DNSSL. This specifies your domain suffix and is often something like lan, local or home. Having this will improve the local network name resolution in Windows which often becomes buggy due to the absence of this piece of configuration. The same thing on IPv4 can be achieved by adding domain=lan (customize the word lan) in dnsmasq.conf.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .