如果我将该选项设置为服务器本身的域名,是否意味着在查询外部互联网之前,会先使用服务器本身来查找域名?ie/etc/hosts
会被查询吗?
例如:
search example.com
答案1
搜索列表通常根据本地域名确定;默认情况下,它仅包含本地域名。这可以通过在搜索关键字后列出所需的域搜索路径来更改,名称之间用空格或制表符分隔。解析器查询中包含的点数少于 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.conf
as中写入一个条目search example.com
。
(是的,我们也可以将其附加到/etc/hosts
文件中)。
现在,如果您执行ping web
,它会将 example.com 附加到您的请求并提供服务。