[Dnsmasq-discuss] override DNS server for particular hosts on IPv6
Hamish Moffatt
hamish at moffatt.email
Thu Mar 25 08:50:18 UTC 2021
I'm attempting to override the DNS server for a few hosts on both IPv4
and IPv6. I've tagged the hosts and applied dhcp-option to that tag and
it's working correctly for IPv4, but I'm not having much luck with IPv6.
I'll admit right now that I don't fully understand the use of DHCPv6 and
how DNS servers are discovered, so it might be that this is just not
possible, at least for all types of clients.
My dnsmasq is at ::1, and I want to use the DNS server at ::18 on the
same prefix. What I have is:
dhcp-option=tag:adblock,6,192.168.42.18
dhcp-option=tag:adblock,option6:dns-server,[<MY ULA>::18],[<MY GLA>::18]
dhcp-range=set:lan,192.168.42.20,192.168.42.239,255.255.255.0,12h
ra-param=br-lan,0,7200
dhcp-range=set:lan,::1000,::ffff,constructor:br-lan,slaac,ra-names,12h
dhcp-option=lan,option6:dns-server,[::]
enable-ra
quiet-ra
What I see is that Android just has the <MY GLA>::1 address as its DNS
server. A Linux client using NetworkManager has <MY GLA>::1 as well as
the two override servers. Even when I set <MY GLA>::18 as the server in
the dhcp-option clause for the whole network, the devices still learned
the <MY GLA>::1 address.
If I remove the dhcp-option clause for the whole network then Android
shows it's using the link local address for ::1 instead.
How is Android always learning of the dnsmasq server itself as the DNS
server, and can I fix it?
Thanks
Hamish
More information about the Dnsmasq-discuss
mailing list