I'm having an issue which I don't believe is necessarily a dnsmasq issue, but could perhaps be either a failing in Windows or a misunderstanding on my part. I am looking for guidance from the knowledgeable folks on this list as to solutions and perhaps also requesting an enhancement to dnsmasq (if it's even technically possible).
The issue is when utilizing dnsmasq as a DHCPv6 server and having clients forward their DDNS to a separate DNS server (i.e. Windows AD DNS) using the "dhcp-client-update" option. During the DHCPv6 request packet, the Windows CLIENT sends the following: --------------------------------------------------- Client Fully Qualified Domain Name Option: Client Fully Qualified Domain Name (39) Length: 28 Flags: 0x00 [CLIENT wants to update its AAAA RRs and SERVER to update its PTR RRs] .... .0.. = N bit: Server SHOULD perform PTR RR updates .... ...0 = S bit: Server SHOULD NOT perform AAAA RR updates Client Domain Name: MOBILEONE.domain.local. --------------------------------------------------- dnsmasq, WITHOUT the dhcp-client-update option responds with: --------------------------------------------------- Client Fully Qualified Domain Name Option: Client Fully Qualified Domain Name (39) Length: 28 Flags: 0x03 [SERVER SHALL update both AAAA and PTR RRs] [Server has overridden the client's S bit] .... .0.. = N bit: Server SHOULD perform PTR RR updates .... ..1. = O bit: Server HAS overridden client's S bit preference .... ...1 = S bit: Server SHOULD perform AAAA RR updates Client Domain Name: MOBILEONE.domain.local. --------------------------------------------------- When the dhcp-client-update option is set, the server's response is: --------------------------------------------------- Client Fully Qualified Domain Name Option: Client Fully Qualified Domain Name (39) Length: 28 Flags: 0x00 [CLIENT SHALL update AAAA RRs; SERVER SHALL update PTR RRs] .... .0.. = N bit: Server SHOULD perform PTR RR updates .... ..0. = O bit: Server HAS NOT overridden client's S bit preference .... ...0 = S bit: Server SHOULD NOT perform AAAA RR updates Client Domain Name: MOBILEONE.domain.local. --------------------------------------------------- This seems like proper behavior from dnsmasq. With the dhcp-client-update option set the server is not overriding any of the client requested behavior. MY ISSUE IS - that I cannot get the client to set the "N" bit to "1" in its request which should allow the client to update its own PTR RR with the DNS server. According to the RFC: " The "O" bit indicates whether the server has overridden the client's preference for the "S" bit. A client MUST set this bit to 0. A server MUST set this bit to 1 if the "S" bit in its reply to the client does not match the "S" bit received from the client. The "N" bit indicates whether the server SHOULD NOT perform any DNS updates. A client sets this bit to 0 to request that the server SHOULD perform updates (the PTR RR and possibly the AAAA RR based on the "S" bit) or to 1 to request that the server SHOULD NOT perform any DNS updates. A server sets the "N" bit to indicate whether the server SHALL (0) or SHALL NOT (1) perform DNS updates. If the "N" bit is 1, the "S" bit MUST be 0. " It isn't totally clear to me here, but I'm not sure if there is even a mechanism for the server to override the "N" bit set by the client (the RFC seems to only mention the "S" bit). If it were possible, I would ask about the possibility of dnsmasq implementing such a function to allow for its use as a DHCPv6 server for Windows clients who need to register with another DNS server? I'm curious if anyone has tested this with other clients and is able to actually see the "N" bit as set to "1" for a client to update their own PTR records? For some additional information regarding Windows clients: Excluding Windows' DHCP servers ability to update records on behalf of the clients, Windows clients can also update their own PTR records. To configure this for IPv4 you need to go to the Advanced configuration properties of the IPv4 protocol on an adapter and under the DNS tab check the option for "Use this connection's DNS suffix in DNS registration." It is this option that controls whether the client will register a PTR record in addition to its A record(s). IPv6 properties have a similar option which would seem to control what the "N" bit carries, but it does not appear to have any effect at all when this option is selected. I have tested this on Windows 10 and 11 clients. Can anyone offer any insight into this? thanks
_______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss