Page 1 of 1

[Feature request] DHCPv6-server address delegation

Posted: Sun Mar 06, 2016 7:16 am
by tagno25
The DHCPv6-server currently does not support address delegation, it only supports prefix delegation. The DHCPv6-client supports both.

Without address delegation Windows does not receive any IPv6 DNS servers.

Re: [Feature request] DHCPv6-server address delegation

Posted: Sun Apr 03, 2016 6:28 pm
by olkitu
+1 this feature

Re: [Feature request] DHCPv6-server address delegation

Posted: Sun Apr 03, 2016 9:35 pm
by Sob
It's just a matter of time, this is the kind of feature they have to add sooner or later.
Without address delegation Windows does not receive any IPv6 DNS servers.
If it's mainly DNS you're after, RouterOS DHCPv6 server can already run in stateless mode and provide DNS. Just add new server without any pool, set managed-address-configuration=no and other-configuration=yes in /ipv6 nd and it will take DNS addresses from /ip dns and send them to clients when they ask.

Re: [Feature request] DHCPv6-server address delegation

Posted: Sun Apr 03, 2016 9:47 pm
by tagno25
If it's mainly DNS you're after, RouterOS DHCPv6 server can already run in stateless mode and provide DNS. Just add new server without any pool, set managed-address-configuration=no and other-configuration=yes in /ipv6 nd and it will take DNS addresses from /ip dns and send them to clients when they ask.
I cannot get that to hand out DNS. The router just keeps discarding the request packets, because it only supports prefix delegation. Windows does not currently support DNS via NDP.

Re: [Feature request] DHCPv6-server address delegation

Posted: Sun Apr 03, 2016 11:43 pm
by Sob
What's your RouterOS version? It was broken this way (not sure for how long) and was fixed in 6.34.x, but I did not test if the fix made it also in 6.32.x bugfix branch.

Then there's another possible problem, but behaviour is different. When DHCPv6 server looks for DNS address to use, it unconditionally prefers dynamic (added by DHCP client) over static ones. So it works when you either don't have any dynamic DNS resolvers or have both IPv4 and IPv6 (from DHCPv4 and DHCPv6 clients), but it fails when you have only dynamic IPv4 (only from DHCPv4 client), even though static IPv6 resolver exists. In that case it sends "empty" reply packet without DNS. But again, if it rejects the request, it's not this.

Edit: I just tested it and 6.32.4 works fine too. So either you have something even older or you don't have other-configuration=yes in /ipv6 nd.

Re: [Feature request] DHCPv6-server address delegation

Posted: Mon Apr 04, 2016 12:12 am
by tagno25
What's your RouterOS version? It was broken this way (not sure for how long) and was fixed in 6.34.x, but I did not test if the fix made it also in 6.32.x bugfix branch.

Then there's another possible problem, but behaviour is different. When DHCPv6 server looks for DNS address to use, it unconditionally prefers dynamic (added by DHCP client) over static ones. So it works when you either don't have any dynamic DNS resolvers or have both IPv4 and IPv6 (from DHCPv4 and DHCPv6 clients), but it fails when you have only dynamic IPv4 (only from DHCPv4 client), even though static IPv6 resolver exists. In that case it sends "empty" reply packet without DNS. But again, if it rejects the request, it's not this.

Edit: I just tested it and 6.32.4 works fine too. So either you have something even older or you don't have other-configuration=yes in /ipv6 nd.
Odd.
I am running v6.34.4, with both DHCPv4 and v6 clients. But I am not receiving DNS via DHCPv6.

So currently, I have to set use-peer-dns=no on DHCPv4 to have my computers use DNS over IPv6. :?

Re: [Feature request] DHCPv6-server address delegation

Posted: Mon Apr 04, 2016 1:50 am
by Sob
Yes, in this case you are affected by second problem. But previously you wrote that router discards request packets, so you got over that one, right?

For future reference, if someone else comes over this thread, the problems are:

1) Misconfiguration in /ipv6 nd. You can tell by looking at request types (enable dhcp logging). If clients send only "solicit", you have it wrong (Windows still can send "solicit" sometimes, but it must not be only that) and DHCPv6 server will not send any reply. If they send "info_req", then you have it correct and DHCPv6 server will send a reply.

2) Problem with DNS preference. If you have only IPv4 dynamic resolvers, reply will not contain DNS. You must either have also IPv6 dynamic resolvers, or no dynamic resolvers at all.

MikroTik knows about 2), but it does not feel like they see it as problem. I sort of agree, because it can only happen when you have active DHCPv4 client. And if so, you have dual-stack and don't really need IPv6 resolvers, because IPv4 resolvers can provide IPv6 records just fine. Probably the only case when it can affect you is when you want to experiment with IPv6-only subnet (if your whole connectivity was IPv6-only, there wouldn't be any reason to have active DHCPv4 client).

In long term, I'm waiting for proper solution, which is ability to manually specify DNS resolvers in DHCPv6 server options (same way it's possible for DHCPv4 server). Because what I really want is to send router's own address as resolver, to make clients use its DNS cache.