Closed lfarrand closed 3 years ago
I've also noticed this error in the log, not sure if it's related or not.
[2020-12-05 06:58:25 UTC] DHCP Server successfully loaded scope file: /etc/dns/config/scopes/VLAN100 - Raspberry Pi (192.168.100.x).scope
[2020-12-05 06:58:25 UTC] [192.168.123.57:38160] [UDP] System.NullReferenceException: Object reference not set to an instance of an object.
at TechnitiumLibrary.ByteTree.ByteTree`2.GetOrAdd(TKey key, Func`2 valueFactory) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.ByteTree\ByteTree.cs:line 172
at TechnitiumLibrary.ByteTree.ByteTree`2.GetOrAdd(TKey key, TValue value) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.ByteTree\ByteTree.cs:line 179
at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsDatagram request, IReadOnlyList`1 viaNameServers, IReadOnlyList`1 viaForwarders, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 1503
at DnsServerCore.Dns.DnsServer.ProcessRecursiveQueryAsync(DnsDatagram request, IReadOnlyList`1 viaNameServers, IReadOnlyList`1 viaForwarders, Boolean checkForCnameCloaking, Boolean cacheRefreshOperation) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 1385
at DnsServerCore.Dns.DnsServer.ProcessQueryAsync(DnsDatagram request, IPEndPoint remoteEP, Boolean isRecursionAllowed, DnsTransportProtocol protocol) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 930
Interestingly, it only appears to be a problem on my untagged network: Default LAN (192.168.123.x)
I can resolve DNS using any of the other interfaces without any problem.
I just tried to resolve DNS entries on a few interfaces, and found that while 192.168.10.2 and 192.168.12.2 worked fine, 192.168.11.2 didn't and failed with the following:
$ dig +trace @192.168.11.2 bbc.com
;; reply from unexpected source: 192.168.10.2#53, expected 192.168.11.2#53
Is this expected? Shouldn't it be replying on the same interface?
Thanks for the feedback. Since you are getting "reply from unexpected source", this can be fixed by specifying a fixed end point as the DNS Server Local End Points in Settings and then use the one IP address for all your networks. I am assuming all your networks are routeable and can access the DNS.
For networks that cannot reach the DNS server end point, add another Local Endpoint on the DNS server which is reachable from the network.
I've also noticed this error in the log, not sure if it's related or not.
[2020-12-05 06:58:25 UTC] DHCP Server successfully loaded scope file: /etc/dns/config/scopes/VLAN100 - Raspberry Pi (192.168.100.x).scope [2020-12-05 06:58:25 UTC] [192.168.123.57:38160] [UDP] System.NullReferenceException: Object reference not set to an instance of an object. at TechnitiumLibrary.ByteTree.ByteTree`2.GetOrAdd(TKey key, Func`2 valueFactory) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.ByteTree\ByteTree.cs:line 172 at TechnitiumLibrary.ByteTree.ByteTree`2.GetOrAdd(TKey key, TValue value) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.ByteTree\ByteTree.cs:line 179 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsDatagram request, IReadOnlyList`1 viaNameServers, IReadOnlyList`1 viaForwarders, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 1503 at DnsServerCore.Dns.DnsServer.ProcessRecursiveQueryAsync(DnsDatagram request, IReadOnlyList`1 viaNameServers, IReadOnlyList`1 viaForwarders, Boolean checkForCnameCloaking, Boolean cacheRefreshOperation) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 1385 at DnsServerCore.Dns.DnsServer.ProcessQueryAsync(DnsDatagram request, IPEndPoint remoteEP, Boolean isRecursionAllowed, DnsTransportProtocol protocol) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 930
Thanks for the error log. Will fix this issue too.
DNS server version 5.6 fixes this issue.
Hi,
I'm having some trouble with DNS resolution in the latest build. I suspect it might be related to how I have my network configured. I have 9 VLANs and an untagged / trunk network. Technitium is acting as the DHCP & DNS server for each network, and is listening for DNS queries on the default 0.0.0.0:53.
If I run the dig command and try to resolve a domain name from another machine, I more often than not get a 'connection timed out; no servers could be reached' if using UDP, or 'connection refused' if using TCP. Every now and again (maybe 1% of the time), the queries work fine, so it is a little puzzling to say the least.
If I run the same dig command on the DNS server host iself, the queries work fine as expected.
Here is the log file from the period during which I ran the queries:
Here is the CLI output from the above queries.
From the other machine:
From the DNS server host iself:
Any ideas about what might be causing this behaviour?
Thanks,
Lee