IPv6 networks have more configuration options, and more failure modes, than IPv4 networks. This page has suggestions on how to troubleshoot issues such as:
The discussion in this forum thread was used as a starting point for creating this wiki page.
It is very helpful to understand the concepts involved in IPv6 networking, as they are more complex than those involved in IPv4.
2000::/7 block (from 2000:: to 2800::).fd00::/8 block (from fd00:: to fe00::).fe80::/64 block (from fe80:: to fe80:0000:0000:1::).
In a typical setup you will want the ISP to delegate a prefix to your wan6 interface, but disable wan6 from delegating prefixes further to lan and other subnetworks, because those subnetworks have only individual devices on them, and not further routers. To implement a setup like that, use the following settings:
wan6, disable everywhere elsewan6, enable and set to 64 on lan and other local subnetworkswan6, set to server mode on lan and other subnetworkswan6, set to server mode on lan and other subnetworksIn the case that you can only get a /64 from your ISP, but still want to subnetwork, then you can instead:
To troubleshoot, a good first step is to compare your settings to the ones above and consider whether any differences are intended based on your network setup.
The following settings (or settings combinations) are probably not desired for simple setups (but might be required for advanced configurations):
wan6: unless you have routers with further subnetworks on lan etc, this doesn't make much senselan set to same as IPv6-prefix length on wan: this works, but means you can only have one local subnetwork, as the entire available prefix will be assigned to only one of the available subnetworks and there will be no addresses for the othersYou should expect to see the following in a properly configured IPv6 enabled network:
wan6 interface should have at least a /60 block delegated to it, this will be displayed as “IPv6-PD” on the interfaces list page in LuCI.lan interface (and interfaces for any other subnetworks you have created) should have IPv6 addresses assigned to them, which will be displayed as something like xxxx:xxxx:xxxx:xxxx::1/64 in the LuCI interfaces list, indicating that a /64 block has been assigned to that subnetwork and the router has been assigned the first valid address in that block, similar to how it works in IPv4.In the case that the problem can't be resolved by inspection, consider using the following diagnostic approaches to help identify at which stage the problem is occurring:
lan, then it won't be able to contact the public internet unless you have ULA assignment enabled and address translation properly configured.ip -6 addr to check. Devices will have addresses assigned from the address ranges on the interfaces that they are connected to.curl -v -6 https://example.com), and separately, check whether the router can do the same (consider wget -O- -6 https://example.com when connected over SSH). Also, can devices on the network contact the router over IPv6?ip -6 route. You can also see the same graphically at Status > Routing on LuCI. Depending on whether IPv6 source routing is enabled, you should expect to see source filters on the forwarding rules based on the assigned address ranges for each interface. If any routing table is missing a default route, connectivity to the internet surely will not be functional.traceroute to see at what stage traffic is being dropped. You can also use Wireshark to see the packets that are sent out, and potentially the ICMP replies from the router or other network nodes.