/etc/resolv.conf 中没有定义域

Emm*_*uel 20 dns etc

我看到越来越多的服务器没有在文件中定义/etc/resolv.conf。只有一个搜索条目。
在什么情况下使用此设置?
是否有不得使用的情况?

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

search domain1 domain2 domain3 ...
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 25

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

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

resolv.conf没有 a的主要区别在于domain尝试确定完全限定域名 (FQDN) 的本地进程。最初想到的 SMTP 服务器是喜欢知道本地 FQDN 并且可以使用本地主机/域配置来解决它。随着时间的推移,本地主机名和域的依赖越来越少,因为由于 NAT、虚拟主机和负载平衡器等因素,它对机器实际代表的现实世界服务变得毫无意义。这意味着大多数软件现在为域名提供替代配置选项,而不是仅仅尝试从本地主机名确定它们。

man resolv.conf

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

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