我想使用与/ etc / hosts文件相同的格式在自定义位置(例如/ opt / app / hosts)上创build主机文件。
原因是我想手动查询一个特定范围的主机的DNS服务器,并写入我自己的自定义主机文件。 我无法将该DNS服务器添加到/etc/resolv.conf,因为我不希望服务器尝试使用它parsing主机(除了我手动查询的小子集)。
我试过寻找一种方法将其包含在/ etc / hosts中,或者将其configuration在/etc/nsswitch.conf或/etc/resolv.conf中,但据我所知,这些configuration文件都不包含这些文件。
您可以设置BIND将特定域的请求转发到特定的DNS服务器:
zone "some.domain" { type forward; forwarders { 10.0.0.1; }; };
所有其他请求将被转发到全局options::forwarders部分中指定的服务器。 也许,这是实现你想要的最好的方法。
dnsmasq可以做到这一点(和更多); 它允许您使用任何本地名称数据库除常规主机文件和DNS之外的一个简单的开关:
dnsmasq -H /opt/app/hosts