Dnsmasq local domains not working on WLAN Bridge but on internal WLAN?

I have disabled resolver & kresd to have only dnsmasq as dns server. It should then also resolve perfectly the lan domains and the stuff in “Network -> Hosts” see this thread for more info (which I also got the instructions from https://forum.turris.cz/t/how-do-i-get-all-my-dhcp-hostnames-on-a-my-house-domain/1515/5.

Basically the resolving of local hosts like diskstation.lan or turris.lan and other stuff works now (except for Raspberry PI 3 over WLAN) but that’s a minor problem.

The really strange problem is. When I connect my Samsung Galaxy S7 to WLAN of Turris Omnia itself (so the 5G card) local host resolution works perfectly I can open http pages in chrome & firefox. But as the Omnia is located in basement I also have a cable to first floor where I have connected a WLAN AP. This WLAN AP is set to “bridge” mode which makes it totally transparent. But when my Galaxy S7 is connected to this the local hosts resolution fails.

I tried playing around with some dnsmasq options but it’s totally unclear to my whe everything else works perfectly and only local hosts don’t resolve ok. I checked the DNS settings of the Galaxy S7 and the DNS servers is 192.168.10.1 which is my turris.

I’m totally clueless thanks for any idea

One possibility: my cheap ASUS router would hijack DNS when set to bridge mode. (It would catch DNS packets going over UDP and forge replies, sometimes getting wrong and breaking stuff.)

I guess there’s nothing you can do about it right?

I saw no settings to improve it. Anyway, the ultra-cheap router was just a temporary/backup solution for me, and I later used a switch instead. Still, it’s possible the cause is completely different in your case…

Hi marcerlser,

from time to time I encaunter nealry the same problem with my Turris Omnia. local names aren’t resolved but other resolving seems to work as expected.
It turns out, that after software upgrades I need to reconfigure my Turris’ DNSMASQ daemon. In my case it forgot the setting of the listening port. (http://turris.lan/cgi-bin/luci/admin/network/dhcp --> Advanced settings --> DNS server port) The field was empty. After reinserting DNS default port number “53” everything works like a charm again.
I guess external resolving works for me because I have three DNS server addresses set up to be advertises to the dhcp clients. First one: turris ip address, second one my internet gateway (which is not turris) and third one: an OpenDNS IP. So If the dnsmaq port is not set up properly in my network infrastructure, ths DNS request will be forwarded to another IP but turris which causes every resolve request but the local names to work fine.

Hope that helps.

Kind regards
ChrisPHL

Well, the default setup is meant the way that DNS is not served by dnsmasq. The list of domains from DHCP and other sources is supposed to be collected by a script into a temporary file that is fed as additional hints into knot-resolver.

Of course, you may override that, but it apparently needs changes that get overridden at updates. (I don’t know why that happens.)

Well, the default setup didn’t work properly for me at least not for the hosts in “hostnames” section (static routes worked) but I wanted to be able to use hostnames section too so I disabled resolver & knotd and used dnsmasq only. I could re-enable resolver if someone finds a way to feed the hosts from the hostnames section as hints to knotd too.

1 Like