Dear colleagues,
I've been using OpenWrt on Comtrend VR-3026e for last six months or so and in all installed builds I've been running constantly several times a day into this specific problem with DNS queries: imagine browsing website, clicking links and pop, just like that, I get DNS_PROBE_FINISHED_NXDOMAIN error. From this point, internal network is unable to resolve this particular domain name for next 20 minutes. What I've tried so far:
flashing different OpenWrt build: no change
restarting internal (LAN) router interface : works
waiting 20 minutes: works
renewing client PC TCPIP: no change
querying ISP's DNS server directly using nslookup: works, but querying OpenWRT LAN interface fails again
Syslog:
Sat Feb 29 15:44:28 2020 daemon.info dnsmasq[1391]: 12937 192.168.1.213/60636 query[A] www.youtube.com from 192.168.1.213
Sat Feb 29 15:44:28 2020 daemon.info dnsmasq[1391]: 12937 192.168.1.213/60636 cached www.youtube.com is <CNAME>
Sat Feb 29 15:44:28 2020 daemon.info dnsmasq[1391]: 12937 192.168.1.213/60636 cached www.youtube.com is NODATA-IPv4
Would you guys please have any idea what could be causing these temporary DNS query outages? Never happens if I use my ISP's or public DNS server directly on my LAN client devices. Thanks
I have only adblock installed but it doesn't affect this particular misbehaviour. It had been happening already prior adblock installation, removing doesn't help. Still, it's a good idea since adblock uses DNS mechanism, I'll try to disable it just to be double sure. Thanks. EDIT: I forgot, Adblock hasn't been installed since flashing to this version:
First of all please fix the post above and use preformatted text (the </> button) instead of blockquote that you used. It's hard to read without the proper indentation.
Nonwildcard is 1, but there is no interface list. If unsure, change it to 0.
If you are not using adblock, remove the entry option serversfile '/tmp/adb_list.overall'
Just in case, add the option allservers '1'
And while you're at it, post the following as well: ls -l /etc/resolv.* /tmp/resolv.*; head -n -0 /etc/resolv.* /tmp/resolv.*
Thank you guys for these hints, I'll try them (e.g. using public DNS services) and come back to you. It can take some time as the outage isn't reproducible on-demand and happens randomly.
Strange thing is that if I query those ISP's non-public DNS servers directly, they answer and translate the currently affected domain name just fine. If I get back to scenario where gateway=DNS then I get nothing again.
I'm back with some more experiences I've made in this case. First, I've set 8.8.8.8 public DNS as my primary on WAN interface, which resolves all public addresses fine and all described problems went away.
Secondary DNS on my WAN interface is my ISP's internal for internal resolves, mainly SMTP. These resolves fail quite often, so there must be some misunderstanding in how OpenWRT queries this particular DNS server or handes it's cache. Every now and then when I try to send an e-mail I get "SMTP server not found" in my e-mail client, where OpenWRT log say:
You could configure OpenWrt to ask all servers and not use strict order in the resolvconf file.
But I think it is best if you add a DNS forwarding /svata.net/1.2.3.4 where 1.2.3.4 is the NS of your ISP.
Actually getting back to thank @trendy for the hint about querying all servers, the option Query all available upstream DNS servers in LuCI improved my situation dramatically,I don't have to bite my keyboard 10 times a day any more.