我试图确定为什么一个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
所以我知道我的域名服务器是可访问的,这意味着沿着我的主机的权威域名服务器的委托path的一些名称服务器没有响应。 有一个简单的方法来确定这是哪个名称服务器(基本上是DNS的跟踪路由 )?
这是否为你做这个工作?
dig +trace google.com
从手册页:
+ [no] trace从正在查找的名称的根名称服务器切换代理path的跟踪。 跟踪在默认情况下是禁用的。 启用跟踪时,dig会进行迭代查询来parsing查找的名称。 它将遵循根服务器的引用,显示用于parsing查找的每个服务器的答案。
对于Windows,您可以跟踪您的dns查询
nslookup -debug google.at
您也可以在http://www.simpledns.com/lookup-dg.aspx上在线查找 (来自另一个主机的couse)