/etc/resolv.conf中未定义域


16

我看到越来越多的服务器在文件中没有定义/etc/resolv.conf。仅搜索条目。
在什么情况下使用此设置?
在任何情况下都不得使用它吗?

nameserver xxx.xxx.xxx.xxx
nameserver yyy.yyy.yyy.yyy
nameserver zzz.zzz.zzz.zzz

search domain1 domain2 domain3 ...

2
来源man resolv.conf:“域”本地域名。对该域内名称的大多数查询都可以使用相对于本地域的简称。如果设置为“。”,则认为是根域。如果不存在域条目,则从”;本地主机名由gethostname(2)返回;域部分被视为第一个“。”之后的所有内容。最后,如果主机名不包含域部分,则假定为根域。”
schaiba 2014年

Answers:


21

指定a后,domain它将成为第一个search域。此搜索功能是设置的主要用途,domain因此search大多数情况下您只需定义一个条目就可以摆脱困境。

domain可以从计算机的主机名自动确定,如果主机名包含.后缀将成为域。

对于具有的主要区别resolv.conf没有domain将试图确定一个完全限定域名(FQDN)本地进程。SMTP服务器最初是想了解本地FQDN并可以使用本地主机/域配置来解决的。随着时间的流逝,本地主机名和域越来越少地依赖于它,而对于NAT,虚拟主机和负载平衡器之类的机器而言,它对于现实世界中的服务而言已变得毫无意义。这意味着大多数软件现在都提供了域名的其他配置选项,而不仅仅是尝试从本地主机名中确定域名。

man resolv.conf

本地域名。
在该域内对名称的大多数查询都可以使用相对于本地域的简称。如果没有域条目,则根据gethostname(2)返回的本地主机名确定域;域部分被视为第一个“。”之后的所有内容。最后,如果主机名不包含域部分,则假定为根域。

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


只是由于无法确定FQDN的监视代理程序出现问题。
伊曼纽尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.