由于多个视图中的区域,绑定 DNSSEC 内联签名加载密钥失败

由于多个视图中的区域,绑定 DNSSEC 内联签名加载密钥失败

我正在尝试使用 bind>=9.9 选项实现 DNSSEC inline-sgning

我之前曾通过使用 生成 .signed 文件成功手动签署了同一个区域dnssec-signzone。但我不想每次都手动签署区域,所以我想使用inline-signingbind 来做这些事情。

因此,我修改了选项语句,key-directory "/etc/bind/keys"; dnssec-validation auto; dnssec-enable yes;并在区域语句中添加了auto-dnssec maintain; inline-signing yes;。但服务器仍然没有响应

$ dig DNSKEY @<domain_ns>

所以我最终发现这个命令给我带来了错误。

# rndc loadkeys <domain>
rndc: 'loadkeys' failed: multiple
zone '<domain>' was found in multiple views

一点背景信息:我对网络上的人员使用“内部视图”,对其他人使用“外部视图”。我需要保留这些视图,并且我想要签名的区域对这两个视图都可用。

然后我不知道如何解决这个问题,我尝试在两个视图或仅在其中一个视图中使用auto-dnssecinline-siging选项。似乎没有帮助。所以我在这里问是否有人知道解决方案

答案1

当多个视图中有同一个区域时,您需要告诉 rndc 对哪个视图进行操作。它应该是将区域定义为“type master”的视图,而不是使用“in-view”引用该区域的视图。

因此,假设您在名为“外部”的视图中定义了 example.com 的区域,您必须输入:

# rndc loadkeys example.com IN external

与其他 rndc 命令相同,只需在域名后面加上“IN external”即可。

相关内容