The problem is with SLAAC addresses: DNSMASQ has no idea in an IPv6-only
network about the hostnames (it has not seen any DHCP request containing a host
name) nor it knows about the actual IP addresses. In SLAAC mode, dnsmasq only
sends RA packets around and the client builds the IP address on its own. But
the generated IP address is never reported back, the client just uses it. With
the cool dnsmasq workaround called "ra-names", the trick is to use some
information from the previous IPv4 DHCP request: dnsmasq learns about the host
name and the MAC address of the client! It then builds the SLAAC address on its
own and tries by ping if the IP address responds. And if that's the case, it
registers a hostname for the SLAAC address. But it needs both the MAC and the
hostname! Unfortunately this does not work with Windows, if random identifiers
are enabled (which is by default) and if firewall is enabled.
To register hostnames in IPv6-only environments, you need to use stateful
DHCPv6 and disable SLAAC. But unfortunately not all clients work with DHCPv6!
Some only listen to RAs by default! Currently e.g. Windows uses DHCPv6 if
announced by the RA to do so, but Android phones are not able to do this. With
SLAAC disabled they won't get an address.
Another approach would be to allow both: SLAAC and stateful DHCPv6. All clients
that support DHCPv6 would get 2 addresses (a SLAAC one and stateful one), but
the hostname would always point to the stateful one. Problem in DSL
environments is the fact that the lease time works against you. The stateful
address would be kept assigned until its lease times out and this can be a lot
later that the PPP link went down. So it's not recommeneded at all for PPP
links with dynamic IPs.
Hope this explanation helps,
Achterdiek 19, D-28357 Bremen
> -----Original Message-----
> From: Dnsmasq-discuss [mailto:dnsmasq-discuss-
> boun...@lists.thekelleys.org.uk] On Behalf Of Robert N
> Sent: Saturday, September 16, 2017 2:50 PM
> To: email@example.com
> Subject: [Dnsmasq-discuss] IPv6 host registration in DNS
> Hello all,
> I'm trying to replace the DNS/DHCP of my FritzBox home router with
> For IPv4 everything seems to work fine, i.e. when clients request an
> IPv4 address, dnsmasq registers their hostnames, so name resolution for
> local machines works.
> But it does not seem to work for IPv6. I want the clients to do SLAAC
> but still dnsmasq should serve AAAA records for local hosts if asked
> If I understood correctly, then dnsmasq will only register the hostnames
> for which it receives a DHCP request. Does this require the hosts to
> request an IP address? Or will the hostnames be added to DNS also if
> just the DNS server information is requested?
> So I probably should configure what is called stateless DHCPv6:
> # This will tell DHCP clients to not ask for proxy information
> # Some clients, like Windows 7, will constantly ask if not told NO
> However, I don't get dnsmasq to return AAAA records for local hostnames.
> Is this configuration basically correct? Or am I missing something?
> Best regards,
> Dnsmasq-discuss mailing list
Dnsmasq-discuss mailing list