# \`nslookup root\` timeout

**URL:** <https://forums.docker.com/t/nslookup-root-timeout/121206>\
**Category:** Docker Desktop\
**Tags:** dns, windows\
**Created:** [February 15, 2022, 7:20pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206 "2022-02-15T19:20:22Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 15, 2022, 7:20pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/1 "2022-02-15T19:20:22Z")

</div>

I’m using Docker Desktop for Windows with the default DNS settings which uses 192.168.65.5 as the nameserver on all my images and I discovered that the command `nslookup root` times out with the error “;; connection timed out; no servers could be reached”. I’m not that familiar with the inner workings of nslookup but I believe that command is an alias for something like `nslookup -type=ns .` (which also fails with the same error). If I update my resolv.conf to a legit server like 8.8.8.8, the commands work.

Is this expected behavior?

---

<div class="post-metadata">

**Author:** ![rimelek](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/rimelek/32/41602_2.png) [@rimelek](https://forums.docker.com/u/rimelek)\
**Post date:** [February 15, 2022, 11:42pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/2 "2022-02-15T23:42:26Z")

</div>

The “root” command seems to be some kind of special command which is not implemented the same way in every nslookup but It should not time out if the IP address is really belongs to a DNS server and that DNS server knows about the root servers. Can you run any command with nslookup using that IP? Try:

```auto
nslookup google.com 192.168.65.5

```

---

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 16, 2022, 1:10am UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/3 "2022-02-16T01:10:54Z")

</div>

That works, and I’m able to do most other dig and nslookup commands, but anything using root or “.” times out.

---

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 16, 2022, 2:59pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/4 "2022-02-16T14:59:40Z")

</div>

Doing a little more research: For the command `nslookup -type=ns .`, pcap shows no response from 192.168.65.5 at all. However, I discovered the logs for Docker’s embedded CoreDNS-1.8.6 server (%APPDATA%\Docker\log\vm\dns-forwarder.out.log) and they seem to indicate that the query was actually done and “NOERROR” was received (although, the elapsed time is a bit extreme):

[INFO] 192.168.65.4:55735 - 36015 “NS IN . udp 17 false 512” NOERROR qr,rd,ra 17 26.25215932s  
[INFO] 192.168.65.4:55735 - 36015 “NS IN . udp 17 false 512” NOERROR qr,rd,ra 17 31.261171557s  
[INFO] 192.168.65.4:55735 - 36015 “NS IN . udp 17 false 512” NOERROR qr,rd,ra 17 36.251690171s

I see similar using `nslookup -vc -type=ns .` (to use TCP) but the pcap shows 192.168.65.5 ACK the request and then the 192.168.65.4 system sets FIN,ACK. .5 doesn’t offer a query response.

---

<div class="post-metadata">

**Author:** ![rimelek](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/rimelek/32/41602_2.png) [@rimelek](https://forums.docker.com/u/rimelek)\
**Post date:** [February 16, 2022, 6:21pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/5 "2022-02-16T18:21:32Z")

</div>

I also found something that can help you. Yesterday I tried nslookup on Docker Desktop for Mac and Docker Desktop for Windows. Both of them worked. Today I started my VPN on Windows and got the same error as you. nslookup works, but not `nslookup root` and not `nslookup -type=ns .`

Do you also have a VPN turned on or anything that can change the routing on your machine?

---

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 16, 2022, 6:43pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/6 "2022-02-16T18:43:57Z")

</div>

Yep, and disabling it allows `nslookup -type=ns .` to work but I still get the same error with `nslookup root`. Good catch.

---

<div class="post-metadata">

**Author:** ![rimelek](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/rimelek/32/41602_2.png) [@rimelek](https://forums.docker.com/u/rimelek)\
**Post date:** [February 16, 2022, 7:42pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/7 "2022-02-16T19:42:00Z")

</div>

Is it the same error with the timeout or just can’t resolve it? I tried `nslookup root` on multiple machines and I had different results while `nslookup -type=ns .` gave me the same result everywhere. So I would not rely on the implementation of `nslookup root`

---

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 16, 2022, 8:12pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/8 "2022-02-16T20:12:07Z")

</div>

On both CentOS 7 and Alpine, `nslookup root` results in `;; connection timed out; no servers could be reached`. You’re correct that it shouldn’t be relied upon but it still seems to suggest some sort of issue with Docker’s embedded CoreDNS. If I change from 192.168.65.5 to 8.8.8.8, both distros can `nslookup root` fine.

---

<div class="post-metadata">

**Author:** ![mitchelljp](https://sea3.discourse-cdn.com/docker/user_avatar/forums.docker.com/mitchelljp/32/32512_2.png) [@mitchelljp](https://forums.docker.com/u/mitchelljp)\
**Post date:** [February 16, 2022, 8:39pm UTC](https://forums.docker.com/t/nslookup-root-timeout/121206/9 "2022-02-16T20:39:31Z")

</div>

I also just noticed. Off of VPN I no longer get the error for the `nslookup -type=ns` command but the results are not helpful:

> Server: 192.168.65.5  
> Address: 192.168.65.5#53
> 
> Non-authoritative answer:  
> \*\*\* Can’t find .: No answer
> 
> Authoritative answers can be found from:

(Note: I’m not cutting off text, the Authoritative list is empty)
