我有一个包含 resolv.conf 的服务器search example.com
,它可以正常进行 DNS 查找。也就是说,如果我 ping host
,并且host1.example.com
在 DNS 中,就会找到它。
但如果host1.example.com
在 /etc/hosts 而不是 DNS 中,则找不到。我假设 resolv.conf 中的条目仅适用于 DNS。
有没有办法创建适用于 /etc/hosts 条目的域搜索路径,如果没有,为什么不呢?
答案1
简单且常用的方法是同时包含host1
和host1.example.com
to /etc/hosts
。
但是,您可以使用 来实现您的目标dnsmasq
。dnsmasq
将读取您的主机文件(可配置,这是默认值),您只需将原始 ns 设置为 dnsmasq 中的上游和localhost
ns inresolv.conf
即可保留搜索选项。您将获得本地缓存名称服务的额外好处。
这是最基本的(可能是服务器)设置,如果您使用像 ns manager 这样的 resolvconf,则必须对其进行配置。
值得记住的是,如果您进行更改,则/etc/hosts
必须重新启动dnsmasq
。