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,

Uwe Schindler
Achterdiek 19, D-28357 Bremen
eMail: u...@thetaphi.de

> -----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: dnsmasq-discuss@lists.thekelleys.org.uk
> Subject: [Dnsmasq-discuss] IPv6 host registration in DNS
> Hello all,
> I'm trying to replace the DNS/DHCP of my FritzBox home router with
> dnsmasq.
> 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
> for.
> 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:
> ------------------------------------
> no-resolv
> server=
> server=
> server=2001:4860:4860::8888
> server=2001:4860:4860::8844
> domain=home.example.net
> local=/home.example.net/
> domain-needed
> bogus-priv
> expand-hosts
> stop-dns-rebind
> enable-ra
> ra-param=high
> read-ethers
> dhcp-option=option6:dns-server,[fd00::]
> dhcp-option=option6:domain-search,home.example.net
> dhcp-range=::,constructor:lan,ra-names,ra-stateless
> # This will tell DHCP clients to not ask for proxy information
> # Some clients, like Windows 7, will constantly ask if not told NO
> #
> https://wiki.openwrt.org/doc/howto/dhcp.dnsmasq#log_continuously_filled
> _with_dhcpinformdhcpack
> dhcp-option=252,"\n"
> log-async=10
> log-dhcp
> ------------------------------------
> 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,
> Robert
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss@lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Dnsmasq-discuss mailing list

Reply via email to