了解(并部分禁用?)内部域的 DNSSEC

and*_*ble 5 domain-name-system bind dnssec

我正在为我们的内部 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
};
Run Code Online (Sandbox Code Playgroud)

这按预期工作。我可以查询我的resolver1.rc.example.edu地址并获取该域中名称的地址。

[root@resolver1 ~]# host -t A ns1.rc.colorado.edu
ns1.rc.colorado.edu has address 10.225.160.10
Run Code Online (Sandbox Code Playgroud)

但是我们有一个旧的名称服务器xcatmn.rc.local,我希望在我们的迁移期间也能够解析它。所以我将这个添加到resolver1'snamed.conf以反映之前的转发配置:

zone "rc.local" IN {
    type forward;
    forward only;
    forwarders { 10.16.0.5; }; # ip address of xcatmn.rc.local
};
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从该域查询记录时,我得到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)
Run Code Online (Sandbox Code Playgroud)

如果我在resolver1此查询中禁用 DNSSEC成功;但我真的不想为所有分辨率禁用它。最多,我想为rc.local. 域而已。

dnssec-enable no;
dnssec-validation no;
Run Code Online (Sandbox Code Playgroud)

这可能吗?我不太了解 DNSSEC,所以我不知道为什么查询rc.example.edu成功(我没有做任何类型的签名)而查询rc.local不成功。

我究竟做错了什么?我应该怎么做?(我知道我不应该使用该.local域。这是尝试从它迁移出去,同时在迁移期间支持该域中的现有名称。)