0

I'd appreciate your thoughts on some strange behaviour with the DNS Client on Windows 10.

I have pi-hole running on my home network as an internal DNS on x.x.x.17, however it's running on a very old laptop (no Pi I'm afraid) and so since I have a separate Windows 10 desktop (x.x.x.22) running as a media server (amidst other things) I have DualDHCPDNS running on this. The DHCP on the router is configured to give clients these as DNS and all devices pick this up correctly and it all works... normally.

When I was sorting out some things in my office I accidentally pulled the power on the laptop causing x.x.x.17 to go down. The Windows 10 devices in the house then thought the Internet was down, however others continued to function correctly (e.g. iPhones just seemed to use x.x.x.22 correctly given they all worked fine on internet searches etc. when x.x.x.17 was down). When I looked into it, the Windows 10 devices just kept asking x.x.x.17 for the resolution and never swapped over to x.x.x.22 despite the published information being that after the first fail Windows 10 should use the alternative DNS...

Any thoughts as to whether this is a known Windows 10 issue or whether I have to set things up differently for Windows 10 to work?

Thanks Andre

Here are some excerpts from testing:

x.x.x.17 is up
C:\Users\Andre>nslookup www.google.co.uk
Server: pi.hole
Address: x.x.x.17

Non-authoritative answer:
Name: forcesafesearch.google.com
Addresses: 2001:4860:4802:32::78
216.239.38.120
Aliases: www.google.co.uk

x.x.x.17 is down
C:\Users\Andre>nslookup www.google.co.uk
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: x.x.x.17

DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out

x.x.x.17 is down, however querying x.x.x.22 directly works
C:\Users\Andre>nslookup www.google.co.uk x.x.x.x
Server: DESKTOP-DSO8B4C.workgroup
Address: x.x.x.22

Non-authoritative answer:
Name: forcesafesearch.google.com
Addresses: 2001:4860:4802:32::78
216.239.38.120
Aliases: www.google.co.uk

ipconfig FYI
C:\Users\Andre>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : DESKTOP-DSO8B4C
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Ethernet:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) Ethernet Connection (5) I219-LM
Physical Address. . . . . . . . . : C4-65-16-30-F2-82
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::6ca5:bffd:b239:2148%13(Preferred)
IPv4 Address. . . . . . . . . . . : x.x.x.30(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : x.x.x.1
DHCPv6 IAID . . . . . . . . . . . : 63202582
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-BD-87-0D-C4-65-16-30-F2-82
DNS Servers . . . . . . . . . . . : x.x.x.17
x.x.x.22
NetBIOS over Tcpip. . . . . . . . : Enabled

1
  • 1
    What nslookup.exe does isn't the same as what Windows does. Can you test with other tools besides nslookup? (I'm not sure if there is a Windows equivalent to getent hosts, but maybe PowerShell's Resolve-DnsName, or python's socket.gethostbyname(), or in the end just ping google.com would work.) Commented Jun 23, 2022 at 9:05

1 Answer 1

1

Many thanks user1686. I was placing too much reliance on nslookup! Both ping and Resolve-DnsName work correctly - i.e. get results from x.x.x.22 when x.x.x.17 fails. Just nslookup seems fixated on only using x.x.x.17.

I picked up a separate issue whereby x.x.x.22 decided it was on a public network and I rebooted to have it realise it was on a private network. I think it was firewalling the DNS requests whilst it thought it was on a public network... (hence failover to x.x.x.22 seemingly not working...)

Thanks all for the quick responses!

1
  • 1
    Most implementations of nslookup (especially the one in Windows) ONLY use the first DNS server specified in the computers network config and don't check if it is actually available. To use another one you have to explicitly tell it by specifying the other server as command-line argument (or set it on the nslookup prompt using the SERVER command.)
    – Tonny
    Commented Jun 23, 2022 at 14:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .