从内部网络和外部网络解析时如何使域解析为不同的IP?

Arn*_*pta 4 domain-name-system bind nameserver dnsmasq digital-ocean

所以我查看了 BIND 和 Dnsmasq 并无法弄清楚这一点。

我在 DigitalOcean 上有几台服务器,它们位于同一个数据中心。我希望能够使用内部 IP 来获得更好的内部网络 ping 和(显然,免费的专用网络流量)。给定以下两台服务器:

Name   Public IP          Private IP
srv1   192.0.2.1          10.10.10.1
srv2   198.51.100.2       10.10.10.2
Run Code Online (Sandbox Code Playgroud)

从外部网络挖掘时(比如我的笔记本电脑),我想要这样的东西

account.codingblocks.com. 79    IN  CNAME   srv2.cb.lk.
srv2.cb.lk.               85844 IN  A       198.51.100.2
Run Code Online (Sandbox Code Playgroud)

从 srv1 内部挖掘时,我想要这个

account.codingblocks.com. 79    IN  CNAME   srv2.cb.lk.
srv2.cb.lk.               85844 IN  A       10.10.10.2
Run Code Online (Sandbox Code Playgroud)

这可能吗 ?如果是,如何。

tel*_*coM 16

在 BIND 9 中,您可以定义多个“视图”:实际上,BIND 向指定客户端显示 DNS 区域的一个版本,向其他客户端显示另一个版本。这似乎正是您所需要的。

这是在 BIND 9 中使用视图的一个很好的介绍:https : //kb.isc.org/article/AA-00851/0/Understanding-views-in-BIND-9-by-example.html

但是,在您的情况下,外部视图会说:

match-clients { any; };
Run Code Online (Sandbox Code Playgroud)

而不是指定任何网段。