我已经设置了一台运行 dnsmasq 的机器,本质上是提供其/etc/hosts
文件。但是,该机器中有一些特定的条目我想要/etc/hosts
,但我不希望它们提供服务。我怎样才能让 dnsmasq 不提供它们?
答案1
如果您不希望系统使用主机文件中的这些条目,为什么不能简单地将其删除?
您的主机文件中是否还有其他条目需要提供服务?您可以让 DNSMasq 跳过系统范围的主机文件--no-hosts
,并将 DNSMasq 指向包含所需条目的备用主机文件--addn-hosts
。
-h, --no-hosts
Don't read the hostnames in /etc/hosts.
-H, --addn-hosts=<file>
Additional hosts file. Read the specified file as well as /etc/hosts.
If -h is given, read only the specified file. This option may be
repeated for more than one additional hosts file.
答案2
我不知道 dnsmasq 是否支持此功能,但从您要实现的目标的描述来看,设置 bind 似乎是一个更优雅的解决方案。这样,您就可以将 hosts 文件和 DNS 转发/解析完全分开。