我正在使用此命令来验证我是否使用DNS提供程序正确设置:
host hostname.example.com ns1.example-nameserver.com
据我所知,这要求ns1.example-nameserver.com查找hostname.example.com并报告答案.我得到了一个主机未找到的回复,所以我认为我做错了.但是,如果没有指定他们的名称服务器(从而允许我的ISP的名称服务器查找它),我得到了正确的响应(如果重要,主机名是CNAME).我无法理解这一点所以我四处寻找并找到了dig命令:
dig @ns1.example-nameserver.com hostname.example.com
据我所知,这与host命令的作用相同 – 要求特定的名称服务器查找主机.因此,我得出结论,他们必须以某种方式做到不同,并且缓存名称服务器必须使用与dig相同的方法.
我的结论是对还是错,如果是对的:
这两种查找方法有什么区别?
如果是错的话:
我对DNS以及导致我得出这个结论的主机和挖掘命令有什么误解?
输出示例:
$host cardiff.tzmchapters.org ns1.livedns.co.uk Using domain server: Name: ns1.livedns.co.uk Address: 213.171.192.250#53 Aliases: Host cardiff.tzmchapters.org not found: 3(NXDOMAIN) $dig @ns1.livedns.co.uk cardiff.tzmchapters.org ; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY,status: NXDOMAIN,id: 23620 ;; flags: qr aa rd; QUERY: 1,ANSWER: 1,AUTHORITY: 1,ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;cardiff.tzmchapters.org. IN A ;; ANSWER SECTION: cardiff.tzmchapters.org. 3600 IN CNAME ghs.google.com. ;; AUTHORITY SECTION: google.com. 3600 IN SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600 ;; Query time: 27 msec ;; SERVER: 213.171.192.250#53(213.171.192.250) ;; WHEN: Mon Apr 22 23:47:05 2013 ;; MSG SIZE rcvd: 128