[Dnsmasq-discuss] override DNS server for particular hosts on IPv6

Hamish Moffatt hamish at moffatt.email
Thu Mar 25 11:14:02 UTC 2021


Hi Petr,

I left out that bit of the config as it seemed to be matching OK - the 
IPv4 DHCP option is set as expected.

dhcp-host=28:24:FF:FF:25:0D,set:adblock,tv
dhcp-host=04:33:C2:E4:3D:F6,set:adblock,wombat
dhcp-option=tag:adblock,6,192.168.42.18
dhcp-option=tag:adblock,option6:dns-server,[fd5d:61f5:a84a:42::18],[2403:5800:3100:142::18]

Even when I set the option for the whole network I did not see the 
expected results in the clients especially Android.

dhcp-option=lan,option6:dns-server,[fd5d:61f5:a84a:42::18]


I will try the logging and check some packet captures tomorrow.

Is there some way other than DHCPv6 that a client can learn its DNS servers?

Thanks,
Hamish

On 25/3/21 9:31 pm, Petr Menšík wrote:
> Hi Hamish,
>
> I don't see any set:adblock on any host. How are selected hosts, which
> should receive adblock server?
>
> --log-dhcp might help to log also tags obtained for each requests. It
> should help you checking selected hosts got assigned adblock tag to
> whatever rule you have used. And then just set common options for the tag.
>
> On 3/25/21 9:50 AM, Hamish Moffatt wrote:
>> 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
>>
>>
>> _______________________________________________
>> Dnsmasq-discuss mailing list
>> Dnsmasq-discuss at lists.thekelleys.org.uk
>> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
>>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20210325/c6eb4db2/attachment-0001.htm>


More information about the Dnsmasq-discuss mailing list