Hello. I constantly have issues with dnsmasq and kresd clashing over port 53. In most cases kresd starts up first and binds to port 53. Then dnsmasq fails to start due to port 53 being already bound, and without dnsmasq the LAN’s DHCP service doesn’t exist.
I have in the past disabled/removed kresd, only for it to re-appear after a software update and cause the same problems again. I’ve also tried setting the DNS listen port to 0 in LuCI, but then dnsmasq doesn’t advertise a DNS server to DHCP clients. This whole mess seems like a major oversight in the OS design.
How are Omnia users supposed to configure their routers so that this issue doesn’t keep happening? Personally I’ve spent hours debugging and fixing this issue again and again.
DNS (port 53) and DHCP (ports 67/68) are different services and for each only one server should be present, which is in the vanilla setup. There is no need for dnsmasq to provide DNS (port 53) when it is already done by kresd or vice versa.
kresd can be either uninstalled or disabled if dnsmasq is the preference for DNS.
dnsmasq is both a DNS and DHCP server. What would function as the DHCP server in the absence of dnsmasq? It sounds like dnsmasq has become a non-standard daemon over time, and I can only recall it being the one and only DNS+DHCP server on Turris Omnia.
Ok, this is probably how I would like it, but I can’t figure out what configuration to set in LuCI to make that happen. Trying to avoid resetting to factory defaults… any ideas, please?
Thanks for sharing! So it looks like one then has to have a custom dnsmasq option set in the Advanced DHCP menu on the LAN interface? Setting dnsmasq’s port to 0 makes it also stop auto-advertising the router as a DNS server in DHCP responses, so a custom dhcp-option is required.
From a usability perspective this kind of blows. I love the power these routers provide, but I kind of expect the basics to be well handled by the UI without configuration quirks like this.
So am I right in saying it’s either this workaround or forever living with auto-updates re-enabling kresd which then breaks DHCP?
Omnia used to use dnsmasq by default. An auto-update introduced kresd some time in the past, and that became the new default.
I’m not trying to change the defaults. I’m just trying to make them work without strange quirks. With this new kresd default I have to know:
That its normal for LuCI to need the DNS server port set to 0 to disable dnsmasq’s DNS server and workaround kresd being the new default.
That the LAN interface now needs another configuration workaround (dhcp_option ‘6,192.168.x.y’) to workaround the quirk introduced by (1) that makes dnsmasq stop advertising the router as a DNS server to LAN.
If I or someone else ever changes the router’s LAN IP in LuCI, they have to know to update this configuration workaround in (2), or your LAN clients get served an invalid DNS server IP.
Whoever thought that wedging kresd in as the new default resolver must not care much about the usability of LuCI. Surely LuCI should have been updated appropriately so that the above quirks aren’t necessary?
My memory disagrees, but if you say so. Either way it doesn’t change the fact that the present situation is a configuration mess. There’s nothing intuitive about the configuration requirements in LuCI to make dnsmasq and kresd work together in the default supported manner.