这实际上是我之前的问题的后续(我的问题已经解决了),可以在这里找到: 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 设置,但这超出了本问题的范围。