[Solved w/ work around] Yet another IPv6 Behind ISP Router topic

Hello

I currently own a TP-Link WDR4300 router running LEDE 17.01.4 firmware and I'm not sure in how to setup IPv6 on it...

Until recently, my ISP provided me a cable modem which didn't support IPv6 at all, so I just configured it in bridge mode and managed the IPv4 connection entirely from the LEDE-operated WDR4300. Recently I upgraded my plan to a faster one and with it, they've replaced the cable modem, providing me now a Technicolor TC7300.B0 (from what I searched, it's just like a regular TC7300 but with only two Ethernet ports and without the 5GHz WiFi).

The thing is, my ISP provides the cable modem and you can't replace it, if you don't use the equipment they provided you simply don't get any connection at all (they tie the contract to the cable modem's MAC address). To make things worse, the firmware from their modems is very locked down when compared to the equivalent retail unit. On the TC7300.B0 case, I can't put it in bridge mode like I could on a retail TC7300 simply because the option is completely absent on the firmware shipped by my ISP.

If it were another IPv4 only modem, I would just disable the firewall from it and set a fixed IP on the WAN connection of the LEDE-operated WDR4300 from where I would manage everything, also enabling DMZ on that IP in the cable modem configuration to avoid more issues. I know, not the most elegant solution but it would work good enough. But now, there's IPv6 on the formula, and I'm unsure on how should I setup it.

Regarding the connection, as far as I can tell my ISP provides both a native IPv4 address and a native IPv6 address with a /64 prefix but without SLAAC support (so, if I understood right, no Prefix Delegation). Devices connected directly to the cable modem passes all tests from IPv6 test website except for ICMP (returns a warning that's filtered) and IPv6 Hostname (which returns "none"). SLAAC also displays a "No" but it remains green.

However, when I connect the cable modem to the WDR4300 WAN port, IPv6 is gone on all clients connected to it. As far as I can tell, LEDE successfully get IPv6 connectivity on the WAN side (I can ping or traceroute an IPv6 addresses via LEDE's SSH console just fine), but on the devices connected in the LAN, all IPv6 connections simply timeout.

I've restored the system defaults on the WDR4300 to start fresh with LEDE, tried setting the DHCPv6 client in "relay" mode and even tried configured NAT6 (which from what I read should be avoided if possible) but still, no IPv6 on the LAN side. So, given the limitations on my setup (e.g. cable modem without bridge mode, ISP not providing SLAAC support, etc), what is the best possible way to enable IPv6 to the clients connected on the WDR4300 and how?

EDIT: if it helps, those are all IP addresses provided by the cable modem (I've filtered them, just pretend there are hexadecimal digits in place of the XXXX)
lan

wan

Regarding the connection, as far as I can tell my ISP provides both a native IPv4 address and a native IPv6 address with a /64 prefix but without SLAAC support (so, if I understood right, no Prefix Delegation). Devices connected directly to the cable modem passes all tests from IPv6 test website except for ICMP (returns a warning that’s filtered) and IPv6 Hostname (which returns “none”). SLAAC also displays a “No” but it remains green.

No SLAAC on the test page really means SLAAC with a MAC address embedded. It can't detect SLAAC with privacy extensions, which most operating systems use by default today. Your ISP router probably supports SLAAC. You should try relay with Router Advertisemen and NDP I think, since the LAN page on your ISP router doesn't say anything about DHCPv6. And some operating systems such as Android only supports SLAAC but not stateful DHCPv6 for address assignment.

Do you mean this? More specifically, the "Example configuration section for relaying"? I tried setting those parameters in UCI via SSH since some of them are absent in LUCI, but even after reboot it didn't change anything, clients on the LAN of the WDR4300 were still limited to IPv4. Regarding DHCPv6, I think the ISP router supports it somehow, as clients connected directly to it get different IPv6 addresses without any manual configuration on the OS...

I haven't used the relays myself and don't know how they need to be configured.

Regarding DHCPv6, I think the ISP router supports it somehow, as clients connected directly to it get different IPv6 addresses without any manual configuration on the OS

SLAAC is Stateless Address Autoconfiguration. Clients which support IPv6 usually requires no configuration o use SLAAC.

Um, so...

I've just figured out that the TC7300.B0 modem from my ISP actually have a bridge mode, but it's buried away with a non-intuitive name and only when accessing the cable modem through 192.168.100.1 instead of the default 192.168.0.1. For anyone looking for the same, go to 192.168.100.1 and enter the username and password found at the bottom of the cable modem (alternatively, if it don't ask you any username and just loads a page with software info, go directly to http://192.168.100.1/RgSwitchMode.asp -- this time it'll ask the username and password), then go to Switch Mode => Disabled. The cable modem will then reboot in bridge mode. YAY!

And that's all. After switching the cable modem to bridge mode, the stock LEDE settings just works out of the box, properly assigning IPv6 addresses to all clients on the LAN...

1 Like