Obtaining IPv6 ranges with multiple DHCPv6 clients

My ISP is providing only /64 IPv6 ranges using DHCPv6 (probably the standard Mikrotik configuration). When I asked for larger range as I have multiple internal networks, I was told to simply run multiple DHCPv6 clients and request a /64 range multiple times.

I can do that manually via running a dhcp6 client multiple times and it works, but would like to have this set up properly using /etc/config/network instead of manual hackery, but I haven't found an easy way to do this.

Is it possible to set up an interface alias of some sort, and map specific obtained ranges to internal interfaces, or is this simply too much to ask from the config system and do I have to hack together a script that will reconfigure the interfaces after the system has booted up?

Has anyone succeeded in configuring something like this?

Getting an IPv6 "range" is an IA_PD (prefix delegation), in contrast to an IPv6 "address" which is typically an IA_NA (non-temporary address). You likely only need one IA_NA, for your outside interface. The IA_PDs will be routed through that address. That is "normal" and you shouldn't need fancy scripting to manage that.

You've got a couple challenges ahead. The first is requesting and renewing multiple IA_PDs. The second is how to configure RA (router advertisements) for those. You may find it easier to manage this kind of complex configuration with more sophisticated tools. I use dhcpcd and the "Linux-standard" radvd for my DHCPv6 needs.

I think I got the requesting part working - configuring a (pretty much default) wan6 interface with dhcpv6 proto and ip6assign 64 on one of the internal interfaces, and then running a odhcp6c manually with a different clientid seems to work fine, but then I need to assign the obtained range manually, and if some interfaces go down and up afterwards, it behaves a bit unexpectedly.

I guess I can try to dig deep into netifd source code and try to make it work that way and perhaps contribute some features. Didn't try the dhcpcd+radvd route yet, but it sounds like a good idea.

Sounds about right -- the different DUID is the key to getting a different DHCP assignment.

That may not be right, depending on how the IA_PD is being routed by your ISP. Each IA_PD may need an associated IPv6 address (alias) on your outside interface as well.


Do those other networks have routers; or are they ran on single OpenWrt?

I really don't think it matters...couldn't you simply create more VLANs (with unique MAC addresses for each), bridge them to the same physical WAN port untagged; and only enable IPv6 and DHCPv6?

If you had downstream routers, you could trunk the WAN port on the separate VLANs and have them do only IPv6 and DHCPv6 on those VLANs.