是否可以跟踪 DNS 查找的委托路径?

Jos*_*ver 18 domain-name-system

我正在尝试确定Nagios主机检查失败的原因(主机名和 IP 已更改以保护有罪的人):

: jmglov@laurana; host www.foo.com
;; connection timed out; no servers could be reached

: jmglov@laurana; for ns in `grep -o '\([0-9]\+[.]\)\{3\}[0-9]\+$' /etc/resolv.conf`; do ping -qc 1 $ns; done
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 10.911/10.911/10.911/0.000 ms
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.

--- 192.168.1.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.241/0.241/0.241/0.000 ms
Run Code Online (Sandbox Code Playgroud)

所以我知道我的域名服务器是可以访问的,这意味着我的主机的权威域名服务器的委托路径上的一些域名服务器没有响应。有没有一种简单的方法来确定这是哪个名称服务器(基本上是DNS的跟踪路由)?

Coo*_*ops 37

这对你有用吗?

dig +trace google.com
Run Code Online (Sandbox Code Playgroud)

从手册页:

+[no]trace 切换跟踪从根名称服务器到正在查找的名称的委托路径。默认情况下禁用跟踪。启用跟踪后,dig 进行迭代查询以解析正在查找的名称。它将跟踪来自根服务器的引用,显示用于解析查找的每个服务器的答案。


Ale*_*orb 22

对于视窗,你可以跟踪你的DNS查询

nslookup -debug google.at
Run Code Online (Sandbox Code Playgroud)

您还可以在http://www.simpledns.com/lookup-dg.aspx在线跟踪它(当然来自另一台主机)

  • 这与 Linux 或 macOS 系统中的“dig +trace google.com”的作用不同。它仍然对本地 DNS 进行递归查询,而不是直接查询跟踪中的每个名称服务器。 (2认同)