如何设置内网 DNS 解析某些子域地址并转发其他子域地址?

And*_*ham 8 dns

我有一个域名 (MyDomain.com),它有许多子域(subs1、subs2、subs3 和 subs4)

在我的本地网络上,我有 2 个服务器运行该主机 subs1 和 subs2。

我也在互联网托管 subs3 和 subs4 上的某个地方有一台服务器。

我的托管服务提供商有一个 DNS 服务器正在运行,我有所有 4 个子域的条目。其中 subs1 和 subs2 指向办公室的静态 IP 地址,而 subs3 和 subs4 的条目将流量指向互联网上某处的相关服务器。

因此,当我外出时,我可以毫无问题地正确访问所有子域。

当我在办公室时,我需要将本地子域解析为本地网络 IP 地址,因此在办公室中我创建了一个 DNS 服务器(运行 BIND 9 的 debian),它将 subs1 和 subs2 解析为本地 IP 地址 (192.168.1) 。X)。但是现在从办公网络内部,如果我也将它们添加到这个新的本地 DNS 服务器,我只能访问 subs3 和 subs4。

这实际上意味着如果/当我要创建/修改任何子域时,我必须维护 2 个 DNS 服务器。

我希望我能做的是让我的本地服务器将查询它不知道的子域转发到托管/互联网 DNS 服务器,这样我的本地 DNS 只需要知道网络中托管的子域.

Ƭᴇc*_*007 6

我们在这里做您想要完成的事情。诀窍是为您希望在本地应答的子域设置内部 DNS 区域,而不是父域。

不是为“MyDomain.com”创建一个带有子域条目的本地 DNS 区域,而是为每个子域创建一个新区域。

因此,您需要创建一个名为“subs1.mydomain.com”的区域,然后添加一个新的 A 记录,并将该记录的主机名留空。

(对您希望该 DNS 服务器回答的每个子域重复此操作)。

确保您没有 Mydomain.com 的本地区域。

设置完成后,如果您请求 subs1.mydomain.com 本地 DNS 知道它,并返回根 A 记录(您创建的空白主机)。如果您请求 MyDomain.com 的任何其他子域,它不会被本地 DNS 视为已知区域,而是会像往常一样转发,然后由托管 MyDomain.com 记录的公共 DNS 回答。

  • 太棒了,这就是我一直在寻找的答案。就像做梦一样,非常感谢! (2认同)
  • 嗨@Luky,已经有一段时间了,但我想我会回答你的问题。它与这个问题有点正交,这就是为什么到目前为止还没有真正提到它,但肯定是相关的。有很多选择:1)手动。每个客户端都可以配置为指向该 DNS 服务器。2)通过DHCP自动。使用 DHCP 获取 IP 的客户端也可以从中获取 DNS。大多数路由器都这样做。3)自动通过VPN。许多 VPN 可以配置客户端的路由表以及网关和 DNS 服务器。——我确信还有其他方法,但这些是我所知道的一些常见方法。 (2认同)