What might explain this nslookup error from Windows 10 using pihole for local DNS?

The background is I am working through intermittent failures in pihole being used as a local DNS server, which I am running via Docker on my Macbook to enable my home lab of physical and virtual machines.

I encountered the following on a later tagged release of pihole Docker image, I believe one of v5.6 or v5.7. I really don't know if this is due to the pihole version, but I don't recall seeing an nslookup like this before; note the "DNS request timed out", but then it apparently succeeded. I believe I had rebooted the Windows 10 desktop just prior to trying this, after adding the local DNS entry "gitlab.m44zv82q.com" pointing to "192.168.50.211" in the pihole admin. I hadn't yet added a name for the DNS server in this case. Why does it show a "DNS request timed out" but then apparently succeed? I saw a similar issue from a separate Windows 10 laptop. BTW I pointed "m44zv82q.com" to "192.168.50.1".

C:\Users\iamuser>nslookup gitlab.m44zv82q.com
Server: 3400b21b6797
Address: 192.168.50.243
DNS request timed out. timeout was 2 seconds.
Name: gitlab.m44zv82q.com
Address: 192.168.50.211
C:\Users\iamuser>

Switching back to v5.5.1 I get this, immediately after adding the local DNS entry in the pihole admin.

C:\Users\iamuser>nslookup gitlab.m44zv82q.com
Server: iamuser-Macbook-Pro.m44zv82q.com
Address: 192.168.50.243
Name: gitlab.m44zv82q.com
Address: 192.168.50.211
C:\Users\iamuser>

1 Answer

Why does it show a "DNS request timed out" but then apparently succeed?

Because it does two DNS requests – one for AAAA records and another for A records (to retrieve IPv6 and IPv4 addresses respectively). The first timed out but the second returned one IP address.

Normally if a website doesn't support IPv6 and doesn't publish any AAAA records in DNS, the AAAA query will still succeed, just return zero records of the requested type.

However, some "network protection" software, as well as some VPN software, have the ill-advised feature of completely blocking queries for AAAA, such that they either return a fake SERVFAIL error, or don't return any response at all (forcing the client to wait until timeout). Make sure nothing like that is enabled.

Or, as Pi-Hole uses dnsmasq, it might also be the case that adding a local DNS entry no longer completely overrides all record types for that entry – that is, I'm suspecting that instead of directly returning "0 AAAA records", it ends up forwarding the AAAA query upstream (to your ISP's DNS servers) or something like that.

Take a look at Pi-Hole's recent DNS queries list to see what's happening.

3

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like