TechnitiumSoftware / DnsServer

Technitium DNS Server
https://technitium.com/dns/
GNU General Public License v3.0
4.47k stars 431 forks source link

Strange log path on a Linux box #195

Closed EHRETic closed 3 years ago

EHRETic commented 4 years ago

Hi there,

Except some Windows member servers that unregister themselves from my DCs DNS servers straight after I change the NIC's DNS to Technitium servers, I have nothing to complain about but I found strange entries in the log (was in v5.4 and is still there in 5.5).

The following repeat itself many times:

--- End of stack trace from previous location where exception was thrown --- at TechnitiumLibrary.Net.Dns.DnsClient.InternalResolveAsync(DnsDatagram request) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 1596 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsDatagram request, IReadOnlyList'1 viaNameServers, IReadOnlyList'1 viaForwarders, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource'1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 1555 [2020-11-16 15:32:56 UTC] DNS Server recursive resolution failed for QNAME: mcg-frontdoor-eu.azurewebsites.net; QTYPE: A; QCLASS: IN; Name Servers: dns.quad9.net:853 (9.9.9.9:853); TechnitiumLibrary.Net.Dns.DnsClientException: DnsClient failed to resolve the request: no response from name servers. at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass36_0.<<InternalResolveAsync>g__DoResolveAsync|1>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 1386

It seems some hardcorded Windows paths but I'm running Technitium on a CentOS VM... weird no? 😄

ShreyasZare commented 4 years ago

Thanks for the post. Those paths belong to my development setup. The software ships with debugging file (.pdb) which map the compiled code with the source code to help with debugging. So, when I get these errors in issues, I know exactly where and which line number to look for it.

EHRETic commented 4 years ago

Thanks for the post. Those paths belong to my development setup. The software ships with debugging file (.pdb) which map the compiled code with the source code to help with debugging. So, when I get these errors in issues, I know exactly where and which line number to look for it.

Meaning there is something I should report to you everytime it happens right? 😉

I checked again in details, the repetition has the exact message except the resolved name, here it is mcg-frontdoor-eu.azurewebsites.net but I also had some others (api.cdp.microsoft.com, download-ssl.msgamestudios.com.nsatc.net, etc...)

ShreyasZare commented 4 years ago

"DnsClient failed to resolve the request: no response from name servers."

These are just timeout errors. In DNS the timeouts are just 2 sec and so you will see these errors when network is not stable or the name servers didn't respond quickly.

EHRETic commented 4 years ago

"DnsClient failed to resolve the request: no response from name servers."

These are just timeout errors. In DNS the timeouts are just 2 sec and so you will see these errors when network is not stable or the name servers didn't respond quickly.

I've switched to cloudflare to give it a try too for a couple of days. Just the "wife's non acceptance factor" : Whatsapp Web not reachable anymore... I have to tune it to see what are the best settings between different DNS forwarders and different levels of add blocking... 😄

EHRETic commented 4 years ago

These are just timeout errors. In DNS the timeouts are just 2 sec and so you will see these errors when network is not stable or the name servers didn't respond quickly.

So I've run constant pings to both 9.9.9.9 and 1.1.1.1, Quad9 is "oscillating" between 30 and 200ms (peaks) when Cloudflare is "stable between 30 & 35ms most of the time. Maybe it is a routing issue with my provider, but that can explain...

It was not that "bad" a couple of months before.

ShreyasZare commented 4 years ago

These issues can occur for a couple of seconds and wont be noticeable too at times. If you keep the DNS server running 24x7 then it would built up its cache and then due to the serve stale caching feature, you will almost always get correct answer without server failure responses getting logged.

EHRETic commented 4 years ago

These issues can occur for a couple of seconds and wont be noticeable too at times. If you keep the DNS server running 24x7 then it would built up its cache and then due to the serve stale caching feature, you will almost always get correct answer without server failure responses getting logged.

That is the strange thing: my wife (good standard user for testing), wasn't not able to access 2 sites she use all the time (https://calendar.google.com/ and https://web.whatsapp.com/).

Looking at the logs, I was able to spot the following several times:

[2020-11-17 10:09:27 UTC] [192.168.XXX.XXX:55644] [UDP] QNAME: calendar.google.com; QTYPE: A; QCLASS: IN; RCODE: ServerFailure; ANSWER: []

When 1s later, another query was OK:

[2020-11-17 10:09:28 UTC] [192.168.XXX.XXX:62112] [UDP] QNAME: www.lilo.org; QTYPE: A; QCLASS: IN; RCODE: NoError; ANSWER: [163.172.18.53, 163.172.198.3, 212.47.254.100]

Whatsapp & google calendar stopped more or less at the same time, but I can't relate it to a network issue from my end. As I said: I'll give Cloudflare a try for a couple of days and see if this comes back.

PS: Yes the service is running 24hx7 (on a dedicated VM)