在 /etc/resolv.conf 中,“搜索​​”配置选项到底起什么作用?

在 /etc/resolv.conf 中,“搜索​​”配置选项到底起什么作用?

如果我将该选项设置为服务器本身的域名,是否意味着在查询外部互联网之前,会先使用服务器本身来查找域名?ie/etc/hosts会被查询吗?

例如:

search  example.com

答案1

man resolv.conf

搜索列表通常根据本地域名确定;默认情况下,它仅包含本地域名。这可以通过在搜索关键字后列出所需的域搜索路径来更改,名称之间用空格或制表符分隔。解析器查询中包含的点数少于 ndots(默认值为 1),将依次尝试使用搜索路径的每个组件,直到找到匹配项。对于具有多个子域的环境,请阅读下面的选项 ndots:n,以避免中间人攻击和根 DNS 服务器不必要的流量。请注意,如果列出的域的服务器不是本地的,此过程可能会很慢,并且会产生大量网络流量,并且如果其中一个域没有可用的服务器,查询将超时。

搜索列表目前限制为六个域,总共 256 个字符。

总结上述内容,假设与上述默认值没有变化,如果某些内容到达解析器而其中没有点,则解析器将尝试添加example.com它。

假设您http://somesite/somedocument.html在浏览器中输入内容。解析器将捕获该信息,并首先尝试解析somesite.example.com(与您实际输入内容相同http://somesite.example.com/somedocument.html),然后再尝试您实际请求的内容。

如果您所在的 LAN 环境有自己的 DNS 服务器,那么这将非常有用,因为人们只需键入简单的名称即可访问本地资源。如果您的家庭或公司 LAN 没有自己的 DNS 服务器,那么您就不必担心。

答案2

为了解释,请考虑/etc/hosts如下条目:

192.168.1.10     web.example.com

现在,如果我想 ping #ping web.example.com它将满足请求,但如果我这样做呢?ping 网页,它会显示“暂时失败......”并且不会满足请求。

因此为了满足请求,我必须在/etc/resolve.confas中写入一个条目search example.com

(是的,我们也可以将其附加到/etc/hosts文件中)。

现在,如果您执行ping web,它会将 example.com 附加到您的请求并提供服务。

相关内容