I get IPv6 from my cable provider using hAP AC. The provider says it uses “DHCPv6/SLAAC, link: /128 IPv6 addresses to modem, prefix-delegation: /64 block for IPv6 addresses behind the modem.”
In DHCPv6 client, you’re requesting address (request=address), but what you really want is prefix. Then set pool-name where received prefix will be saved. And finally, instead of assigning address/subnet to internal interface manually, let it use automatic one from pool (::1/64 will change into proper address automatically):
Thanks a lot! I tried exactly that, but instead of letting DHCPv6 create the pool automatically, I configured it myself beforehand. However, when configuring the pool manually, one can only specify the prefix-length up to 63.
When DHCPv6 create the pool, it sets the prefix-length to 64.
Without the properly configured pool, nothing worked for me.
And how do I ask my wAP AC that sits on the same network to autoconfigure an IPv6 address? Or rather, should I? Or it can use the link-local addresses in the LAN?
I had no complaints from router when I tried to add:
/ipv6 pool
add name=test prefix=2001:db8::/64 prefix-length=64
I did it in the web interface, setting prefix to ::/0 and prefix-length=64. IIRC, these were the default values, but when I clicked on Apply, I got a popup saying that prefix-length is supported up to 63.
I am running RouterOS 6.37 if that matters.
Anyway, these are gory details. IPv6 works, yahoo!
If you tried to use prefix=::/0, you were telling router that you own whole IPv6 address space. You didn’t really expect it would believe you, did you? There just seems to be a typo in that message, the correct limit should be 33bit, not 63bit.