如何让 DNS 服务器根据网络可用性返回不同的答案?

如何让 DNS 服务器根据网络可用性返回不同的答案?

我有一个 Bind9 docker 容器充当我的网络的 DNS 服务器,当 bind9 被询问时,我希望出现以下行为example.com

If (Network is available):
  ask from 8.8.8.8 about example.com
If (Network is not available):
   return 172.16.2.2 as example.com

换句话说,我希望 bind9 将 dns 查询转发到example.com8.8.8.8如果网络不可用,我希望它回退到我的本地区域。

到目前为止,我已经在我的named.conf区域中创建了一个这样的区域:

zone "example.com" {
    type master;
    forward first;
    max-zone-ttl 1;
    forwarders {
     8.8.8.8;
   }; 
   file "/etc/bind/db.example.com";
};

但它总是返回本地区域文件中的 IP(172.16.2.2)。bind9 不是应该先转发我的请求,然后再回退到本地区域吗?

答案1

你没有。而且,你意识到 - 因为有下游缓存,所以这并不重要。

自从 DNS 发明以来,任何类型的 DNS 端负载平衡都不再起作用。

顺便提一句:

bind9 不是应该先转发我的请求然后再回退到本地区域吗?

什么鬼?文档不是显示完全相反的情况吗?为什么它会使用转发器 - 它本身有权威信息(即条目在其区域文件中)?

相关内容