创建自定义主机文件

创建自定义主机文件

我想在自定义位置(例如 /opt/app/hosts)创建一个主机文件,其格式与 /etc/hosts 文件相同。

原因是我想手动查询 DNS 服务器以获取特定范围的主机,并将这些主机写入我自己的自定义主机文件。我无法将该 DNS 服务器添加到 /etc/resolv.conf,因为我不想让服务器尝试使用它来解析主机(除了我手动查询的一小部分)。

我尝试寻找将其包含在 /etc/hosts 中或在 /etc/nsswitch.conf 或 /etc/resolv.conf 中对其进行配置的方法,但据我所知,这两个配置文件都不包含。

答案1

您可以设置 BIND 将特定域的请求转发到特定的 DNS 服务器:

zone "some.domain"
{
        type forward;
        forwarders { 10.0.0.1; };
};

所有其他请求都将转发到全局options::forwarders部分中指定的服务器。这可能是实现您想要的最佳方式。

答案2

域名系统可以做到这一点(甚至更多);除了常规 hosts 文件和 DNS 之外,它还允许您使用任何本地名称数据库,只需一个简单的切换:

dnsmasq -H /opt/app/hosts

相关内容