Openwrt, ipv6 questions

hello

Im doing some tests with ipv6 behind a ISP router.

ISP provides a /56 to the subscriber. A /64 can be obtained to each machine directly from the ISP's router.

I tried as follow :

(modem/router) = (owrt1) = (owrt2)

Just after that router, i add a owrt1. It obtains a ipv6, and can dispatch it to lan machines of owrt1. Great !

  1. well.. if i connect owrt2 to owrt1 (not directly to the ISP's router), it can't get ipv6. why?
    as if owrt2 is connected directly to ISP's router, it obtain a v6 addr.

  2. I read somewhere that since 2025, the ipv6 integration/conf is almost ready to use : it took me a little hour to put properly the network/firewall conf files, to get ipv6. When done, ipv6 lokos working well.
    I guess if i do that on older versions of owrt, 5yrs or 10yrs, it wont work? as ipv6 is supported since a long time under linux (and owrt i guess).. what changed recently to make owrt that ready to use with newer versions of owrt, that older ones doesnt have?

thank you

A router needs one IPv6 address on wan and a prefix assigned via DHCPv6-PD of at least /64 or bigger for its disposal (on its lan), this works fine for the "(modem/router) = (owrt1)" case. (owrt2) can now still get an IPv6 address on its wan, but there is no /64 available for its lan, so connected clients can't get IPv6 connectivity.

For the "(modem/router) = (owrt1) = (owrt2)" case, you'd need to configured at least a /63 prefix length for DHCPv6-PD (and configure (owrt1) to pass through a /64 via DHCPv6-PD to (owrt2)).

You cannot sub-divide a /64 further, it's the smallest possible prefix length/ subnet size (technically -in theory- this is a lie, OpenWrt won't stop you - but most clients (particularly android and anything else using SLAAC will fail hard with anything but /64).

1 Like

Maybe OWRT2 can try with RA/NDP relay, but clients behind will still be /64

There are (bad, borderline broken) workarounds, but considering

I wouldn't even think about going there, as there are better alternatives (be it connecting (owrt1) && (owrt2) directly to (modem/router), so each of them gets their own /64 , or…).