我在 debian 8 上为 dnssec 运行以下命令。但出现错误:
# dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N INCREMENT -o myzone.local -t myzone.local.zone
dnssec-signzone: warning: Kmyzone.local.+007+16956.key:5: no TTL specified; zone rejected
dnssec-signzone: fatal: failed loading zone from 'myzone.local.zone': no ttl
答案1
我想你也陷入了Digital Ocean 教程。
因此,如果您使用 创建了 KSK 和 ZSK dnssec-keygen
,则应该使用标志-L
在文件中设置 TTL,如下所示:
# dnssec-keygen -L 3600 -a NSEC3RSASHA1 -b 2048 -n ZONE example.com
# dnssec-keygen -L 3600 -f KSK -a NSEC3RSASHA1 -b 2048 -n ZONE example.com
编写教程时可能不需要此参数(默认为 3600?)。
如果您已经生成了文件,我认为您可以直接编辑它们(均命名为Kexample.com.*.key
)。只需在记录行的“IN”前添加“3600”即可。因此从:
Khexample.com.+008+27593.key:example.com. IN DNSKEY 256 3 8 <key>
到:
Khexample.com.+008+27593.key:example.com. 3600 IN DNSKEY 256 3 8 <key>
我不确定 3600 是否是一个好的值,但这就是教程作者受到推崇的. 我的其他消息来源是man dnssec-keygen
。