On 21/10/2022 22:23, Michael Traxler wrote:
Hello,

dnsmasq-2.87:

It took me quite some time to figure this out :-)

When you disable the DNS-server via
port=0

the /etc/hosts file is ignored and also the
addn-hosts=<fn>
is ignored.

This then results in the problem, that the
DHCP-server still works, but if you use the

dhcp-host=da:7a:3a:62:7d:d2,trb

where trb is a name in /etc/hosts
dnsmasq reacts with:

DHCPDISCOVER(enp2s0) da:7a:3a:62:7d:d2 no address available

I checked via strace that it really doesn't even open
/etc/hosts nor the given file via the "addn-hosts" option.

Looks for me like a bug. I can not find a logical reason, why a dhcp-server
*needs* to have a running DNS-server.

Or is it a feature? :-)

It's at least a documentation bug. I think the reasoning behind the behaviour is that setting port=0 disables all the DNS functionality, which can be useful for its own sake, but also saves machine resources; no memory is allocated for cache and all the configuration infrastructure for DNS is not initialised, hence /etc/hosts doesn't get read.

It would be trivial to remove half a dozen "if (port != 0) { }" lines from the code, and have all of the DNS stuff still live apart from actually listening on port 53, but that's not necessarily an improvement. There's not increase in functionality, since the same behaviour can be configured simply by adding the the addresses to the dhcp-host lines and that works with the existing code even when port=0 is set.


My feeling is that the best fix to this is a heads-up in the man page, but I'm happy to entertain arguments to the contrary.

Simon.



Thanks a lot,

Michael

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to