搜索域名和名称服务器之间有什么区别?

通常我在某些服务器的/etc/resolv.conf文件中看到两种类型的条目。domain-name-servers条目指定用于将主机名解析为IP地址的DNS服务器。最近我看到了一个search IP_ADDRESS的条目。所以我的问题是,nameserver和search domain之间有什么区别?

1search指定的值必须是一个域名而不是IP地址。如果DHCP服务器配置错误,并且服务器和客户端都没有验证该值,那么可能会导致IP地址被写入resolv.conf文件中。也有可能是手动将无效的值放入了resolv.conf文件中。 - kasperd
2个回答

搜索指示要附加到您的主机名中的域名。例如,如果您运行此命令:
ping myserver
如果您在搜索域中没有任何内容,它会在您的主机文件中搜索“myserver”,如果那里也没有找到任何内容,它将返回空。
unknown host

但是如果你添加 search mydomain.com

那么相同的 ping 将会返回

64 bytes from myserver.mydomain.com (some ip): icmp_seq=1 ttl=62 time=415 ms
(假设"myserver.mydomain.com"实际存在,并且回复ping请求) 另一方面,nameserver是您实际DNS服务器的IP地址,在那里您查找所有不在您的主机文件中的主机名。 编辑:添加了一些更多细节和问题的第二部分(nameserver)

抱歉,我不小心删掉了别人对我的帖子的编辑……当时我正在自己编辑它……我已经自己添加了那个修改。谢谢帮助。 - Sverre
1没问题 - 谢谢你这么好接受。顺便给你一个赞,回答得很好。 - MadHatter

一个名称服务器条目告诉系统要询问哪些名称服务器进行名称解析。 搜索域为搜索提供了一个默认的域名。如果您提供了example.netexample.com作为搜索域,并尝试联系主机server1,系统将会自动查找server1.example.netserver1.example.com,而无需您输入完整的域名。

  • 相关问题