让 dnsmasq 忽略 /etc/hosts 中的特定条目

让 dnsmasq 忽略 /etc/hosts 中的特定条目

我已经设置了一台运行 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 转发/解析完全分开。

相关内容