![DNS 无法使用辅助 DNS 服务器进行解析](https://linux22.com/image/1616369/DNS%20%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E8%BE%85%E5%8A%A9%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%E8%A7%A3%E6%9E%90.png)
我已配置 2 个 DNS 服务器,一个本地,一个外部(Google DNS)。现在,我从托管平台为我的域名创建了一个 Webforward(例如camera.example.com
到https://example.com/camera
.
在我的本地 DNS 服务器上,我有一个 example.com 区域,它将我重定向到本地服务器。但是,我无法camera.example.com
解析到https://example.com/camera
。当我切换 DNS 服务器(因此本地服务器变为次要服务器,而 Google DNS 变为主要服务器)时,它工作正常。但我的本地 DNS 记录当然不起作用。
有没有解决的办法?
答案1
这是预期结果。如果两台服务器都托管同一个域 ( example.com
),那么它们都必须能够回答全部记录。“DNS 服务器”字段允许您输入多个服务器以实现冗余,而不是为了分片,并且解析器将始终将“没有这样的域”作为最终答案。
因此,设置一些程序将本地记录复制到 Google,并将远程记录复制回本地服务器。
或者,如果 Google 托管区域中的子域数量很少,请从配置中删除 Google NS 地址,并设置本地服务器的 DNS 软件以拥有一堆“转发器”区域,将这些子域的查询重定向到 Google NS。
// named.conf
zone "camera.example.com" {
type "forward"; forwarders { <ip>; <ip>; ... };
//type "static-stub";
}
实际上,使用记录以适当的方式委托这些子域名NS
也应该有效。我认为不应该可能是您将问题委托给非 root 条目(但我不能保证这一点)。
; local zone
camera.example.com. NS ns-cloud-a1.googledomains.com.