在 resolv.conf 中,我有名称服务器列表。是否可以以某种方式让解析器仅对给定域的主机使用给定的 DNS 服务器?
我设想它是这样的(这是纯粹的理论语法,据我所知在任何地方都不起作用):
nameserver 192.168.0.1
nameserver 192.168.3.15 for example.com test.com
它会像这样工作:当我需要主机“a.example.com”的 IP 时,它会查询 192.168.3.15,但对于 serverfault.com - 它会查询 192.168.0.1。
有点像路由表,但是用于 DNS 请求。
操作系统是 Linux – 如果这很重要的话。
答案1
不,这是不可能的。但是,您可以使用所谓的拆分 DNS。
安装 DNS 服务器并将其配置为执行递归查询,使用 ISP 提供的 DNS 服务器作为转发器。这样可以确保 Internet 上可以解析的所有名称都将被解析。更新 DHCP 服务器,以便它将此名称服务器的 IP 地址分发给其所有客户端,这样可以确保本地网络上的所有计算机都使用此 DNS 服务器(而不是 ISP 的服务器)。
现在,您可以开始配置您希望流量流向非正常区域的区域。这可以包括您不拥有的域。由于这是本地 DNS 服务器,因此您不会混淆其他人,而且您可以在 LAN 上做您想做的事情。
如果您将 TTL 值保持在非常低的水平,您将能够非常快速地更改目标 IP 地址。如果您经常这样做,我建议您使用 webmin 以获得更方便的用户界面(除非您喜欢从命令行工作)。