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

如何设置内联网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)。但是现在,如果我将 subs3 和 subs4 也添加到这个新的本地 DNS 服务器中,那么从办公室网络内部我只能访问它们。

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

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

答案1

我们在这里完成您要完成的任务。诀窍是为您希望本地应答的子域(而不是父域)设置内部 DNS 区域。

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

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

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

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

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

相关内容