TechnitiumSoftware / DnsServer

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

[BUG] ServerFailure multiple domains with 11.5 release #764

Closed brokoler closed 8 months ago

brokoler commented 8 months ago

Hello,

I just happily updated to 11.5 and discovered issues on my end devices. For example my iPhone told me it's offline now, I did not have any issues with 11.4.1

I checked my server logs and see following: grafik grafik

Many more domains are affected, the screenshots above show the issue for my iPhone telling me it's offline.

Could this be fixed rather soon? I will downgrade for now.

Kind regards

brokoler commented 8 months ago

Confirming the issue is gone after downgrading to 11.4.1. I will stay with 11.4.1 for now.

advisorgee commented 8 months ago

same issue here:

this is the error message being logged:

[2023-10-29 19:14:44 UTC] DNS Server failed to resolve the request 'registry-1.docker.io. A IN' using forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1).

TechnitiumLibrary.Net.Dns.DnsClientNoResponseException: DnsClient failed to resolve the request 'registry-1.docker.io. A IN': no response from name servers [cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1)]. at TechnitiumLibrary.Net.Dns.DnsClient.<>cDisplayClass73_0.<gDoResolveAsync|1>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4084 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.InternalResolveAsync(DnsDatagram request, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4407 at TechnitiumLibrary.Net.Dns.DnsClient.InternalResolveAsync(DnsDatagram request, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4362 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4466 at TechnitiumLibrary.Net.Dns.DnsClient.<>cDisplayClass77_0.<b0>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4535 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3892 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4517 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, NetworkAddress eDnsClientSubnet, Boolean conditionalForwardingClientSubnet, IReadOnlyList1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, Boolean skipDnsAppAuthoritativeRequestHandlers, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 3066

I have changed from DNS over TCP to DNS over UDP and that is working now.

scott-feier commented 8 months ago

Similar for me. I had DNS over TLS setup to Quad9 Secure, and was getting a ton of errors. Changed to DNS over UDP and issues disappeared. Here's a typical log entry:

[2023-10-29 15:59:36 Local] DNS Server failed to resolve the request 'd3p8zr0ffa9t17.cloudfront.net. A IN' using forwarders: dns.quad9.net:853 (9.9.9.9), dns.quad9.net:853 (149.112.112.112).

System.ArgumentException: Name server protocol does not match. (Parameter 'server')
   at TechnitiumLibrary.Net.Dns.ClientConnection.TcpClientConnection..ctor(NameServerAddress server, NetProxy proxy) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\ClientConnection\TcpClientConnection.cs:line 60
   at TechnitiumLibrary.Net.Dns.ClientConnection.TlsClientConnection..ctor(NameServerAddress server, NetProxy proxy) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\ClientConnection\TlsClientConnection.cs:line 44
   at TechnitiumLibrary.Net.Dns.ClientConnection.DnsClientConnection.<>c__DisplayClass17_0.<GetConnection>b__3(NetProxy netProxyKey) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\ClientConnection\DnsClientConnection.cs:line 232
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   at TechnitiumLibrary.Net.Dns.ClientConnection.DnsClientConnection.GetConnection(NameServerAddress server, NetProxy proxy) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\ClientConnection\DnsClientConnection.cs:line 277
   at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass73_0.<<InternalResolveAsync>g__DoResolveAsync|1>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4140
--- End of stack trace from previous location ---
   at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass73_0.<<InternalResolveAsync>g__DoResolveAsync|1>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4072
--- End of stack trace from previous location ---
   at TechnitiumLibrary.Net.Dns.DnsClient.InternalResolveAsync(DnsDatagram request, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4423
   at TechnitiumLibrary.Net.Dns.DnsClient.InternalResolveAsync(DnsDatagram request, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4423
   at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4479
   at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass77_0.<<InternalCachedResolveQueryAsync>b__0>d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4644
--- End of stack trace from previous location ---
   at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4001
   at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 4645
   at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, NetworkAddress eDnsClientSubnet, Boolean conditionalForwardingClientSubnet, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, Boolean skipDnsAppAuthoritativeRequestHandlers, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 3066
r00m55 commented 8 months ago

I am also getting this same error. How do I downgrade to the previous v11.4.1?

brian-wee commented 8 months ago

I am also getting this same error. How do I downgrade to the previous v11.4.1?

https://download.technitium.com/dns/archive/11.4.1/

@r00m55

brian-wee commented 8 months ago

Having the same issue on DNS over TLS, changing to DNS over HTTPS solved it for me.

ShreyasZare commented 8 months ago

Thanks for reporting this issue. It an issue only with DNS-over-TLS so switching to another protocol will help mitigate the issue meanwhile. An update for the bug fix will be made available very soon.

ShreyasZare commented 8 months ago

Technitium DNS Server v11.5.1 is now available that fixes this issue. Do update and confirm.