我使用这个命令来验证我是否正确设置了 DNS 提供商:
host hostname.example.com ns1.example-nameserver.com
Run Code Online (Sandbox Code Playgroud)
据我所知,这要求ns1.example-nameserver.com
查找hostname.example.com
并报告答案。我收到了一个找不到主机的回复,所以我认为我做错了。然而,如果没有指定其名称服务器(从而使我的ISP的域名服务器来关注一下吧),我得到了正确的响应(hostname
是CNAME
如果它很重要)。我无法理解这一点,所以我四处搜索并找到了dig
命令:
dig @ns1.example-nameserver.com hostname.example.com
Run Code Online (Sandbox Code Playgroud)
据我所知,这与host
命令的作用相同- 要求特定的名称服务器查找主机。因此,我得出结论,他们必须以某种方式以不同的方式执行此操作,并且缓存名称服务器必须使用与dig
.
我的结论是对还是错,如果是对的:
这两种查找方法有什么区别?
如果是错误的:
什么是我对DNS的误解和host
和dig
那些使我得出这个结论的命令?
示例输出:
$ 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, …
Run Code Online (Sandbox Code Playgroud) BIND 中是否有与 apache 的 start-servers、spare-servers 和 server-limit 配置选项等效的选项?