我正在为我们的内部 HPC 集群环境设置新的 DNS 基础设施。这涉及提供从我们现有的 DNS 授权机构和域迁移的路径。
举个例子,假设我们有一个机构域名example.edu
。(我们实际上有一个真实的.edu
域名。)我们的团队使用子域名rc.example.edu
。我已为该域名在设置了新的内部权限ns1.rc.example.edu
,并将从我们的内部解析器转发到该权限。
zone "rc.example.edu" IN {
type forward;
forward only;
forwarders { 10.225.160.10; }; # ip address of ns1.rc.example.edu
};
这按预期工作。我可以查询我的resolver1.rc.example.edu
并获取该域中名称的地址。
[root@resolver1 ~]# host -t A ns1.rc.colorado.edu
ns1.rc.colorado.edu has address 10.225.160.10
但是我们有一个旧名称服务器,xcatmn.rc.local
我希望在迁移期间也能够解析它。因此,我将其添加到 中resolver1
以named.conf
镜像以前的转发配置:
zone "rc.local" IN {
type forward;
forward only;
forwarders { 10.16.0.5; }; # ip address of xcatmn.rc.local
};
但是当我尝试从该域查询记录时,我得到了SERVFAIL
。
[root@resolver1 ~]# host -t A xcatmn.rc.local
createfetch: xcatmn.rc.local A
validating @0x7ffba86868d0: xcatmn.rc.local A: bad cache hit (xcatmn.rc.local/DS)
error (broken trust chain) resolving 'xcatmn.rc.local/A/IN': 10.16.0.5#53
client 10.225.160.52#54752 (xcatmn.rc.local): query failed (SERVFAIL) for xcatmn.rc.local/IN/A at query.c:7004
createfetch: xcatmn.rc.local A
validating @0x7ffba86868d0: xcatmn.rc.local A: bad cache hit (xcatmn.rc.local/DS)
error (broken trust chain) resolving 'xcatmn.rc.local/A/IN': 10.16.0.5#53
client 10.225.160.52#37688 (xcatmn.rc.local): query failed (SERVFAIL) for xcatmn.rc.local/IN/A at query.c:7004
Host xcatmn.rc.local not found: 2(SERVFAIL)
如果我在resolver1
此查询中禁用 DNSSEC,则查询会成功;但我实际上并不想对所有解析都禁用它。最多,我只想为rc.local
. 域禁用 DNSSEC。
dnssec-enable no;
dnssec-validation no;
这可能吗?我不太了解 DNSSEC,所以我不知道为什么对 的查询rc.example.edu
会成功(我没有进行任何类型的签名),而对 的查询rc.local
却不成功。
我做错了什么?我应该怎么做?(我知道我不应该使用该.local
域名。这是尝试迁移出去,同时在迁移期间支持该域中的现有名称。)