未找到 DNSSEC 密钥文件

未找到 DNSSEC 密钥文件

这实际上是我之前的问题的后续(我的问题已经解决了),可以在这里找到: DNSSEC 签名区域导致严重故障

dnssec-signzone不过,我仍然想在创建我的签名区域文件时使用它。

在我把语法修正为

dnssec-signzone -o home.garage.top -N increment -k Khome.garage.top.+005+46921 home.db Khome.garage.top.+005+36051

我得到以下输出

dnssec-signzone: fatal: cannot load dnskey Khome.garage.top.+005+36051: file not found

我知道这意味着什么,但我无法理解。我尝试将密钥附加到home.db,也尝试将它们包含在“named.conf”中。文件的权限看起来也不错

-rw-r--r--  root  bind

当我执行包含操作时,我使用了文件的绝对路径,即/etc/bind/keyfile,它们与 db 文件位于同一目录中。这可能不是最佳实践,但除非这是个问题,否则我会让它们留在原处,直到我让它正常工作。

看起来好像找到了 KSK,但是没有找到 ZSK。

我还将包含文件的内容

KSK ==home.garage.top IN DNSKEY 257 3 5 "keyhash"

中國語言學研究所 ==home.garage.top IN DNSKEY 256 3 5 "keyhash"

这些文件中注释的激活日期是 12 月 27 日,所以我认为这也不会有问题。

有什么建议吗,或者我应该尝试重做按键并重新开始?

提前致谢。

答案1

在一位朋友的帮助下,我终于解决了这个问题(圣诞节和前后几天很难联系到他)。

显然,在绑定目录中创建密钥文件至关重要/etc/bind/,否则签名将不起作用。

还有几种方法可以将密钥文件添加到区域文件,但我最终成功的方法是$INCLUDE在区域文件内部使用。

我花了好几个小时来回答这个问题,希望我的回答能对将来的某人有所帮助。我们每天都会学到一些东西。

答案2

所以我不能发表评论,而必须对一个 9 年前的问题做出回答。我认为这是倒退,但我来这里不是为了批评 serverfault,我来这里是为了解决一个略有不同的问题,但在这里偶然发现了。

要求将密钥保存在特定位置听起来与 apparmor 设置有冲突。在 Debian 上,在/etc/apparmor.d/和中查找grep包含 的文件/etc/bind。您可以调整保存密钥的位置或调整 apparmor 设置,但这超出了本问题的范围。

相关内容