我正在尝试在运行 DirectAdmin 控制面板的 CentOS 6.4 上使用 BIND9 配置 DNSSec。我正在使用本教程来使其工作: https://www.dnssec-tools.org/wiki/index.php/Zonesigner
但我无法让它工作......
当我运行此命令时:
zonesigner --genkeys jordikroon.nl.db jordikroon.nl.db.signed
我收到此错误:
jordikroon.nl.db:17: ignoring out-of-zone data (jordikroon.nl)
jordikroon.nl.db:18: ignoring out-of-zone data (jordikroon.nl)
jordikroon.nl.db:22: ignoring out-of-zone data (jordikroon.nl)
jordikroon.nl.db:29: ignoring out-of-zone data (jordikroon.nl)
jordikroon.nl.db:33: ignoring out-of-zone data (jordikroon.nl)
zone jordikroon.nl.db/IN: has no NS records
zone jordikroon.nl.db/IN: not loaded due to errors.
我在网上找不到有关此错误的任何信息。
这是我的区域数据库文件:
$TTL 14400
@ IN SOA ns1.ghservers.org. hostmaster.jordikroon.nl. (
2013090703
14400
3600
1209600
86400 )
jordikroon.nl. 14400 IN NS ns1.ghservers.org.
jordikroon.nl. 14400 IN NS ns2.ghservers.org.
cp 14400 IN A 85.17.32.228
ftp 14400 IN A 85.17.32.228
jordikroon.nl. 14400 IN A 85.17.32.228
localhost 14400 IN A 127.0.0.1
mail 14400 IN A 85.17.32.228
pop 14400 IN A 85.17.32.228
smtp 14400 IN A 85.17.32.228
www 14400 IN A 85.17.32.228
jordikroon.nl. 14400 IN MX 10 mail
jordikroon.nl. 14400 IN TXT "v=spf1 a mx ip4:85.17.32.228 ~all"
localhost 14400 IN AAAA ::1
我该如何解决这个问题?所有IN
关键字都被忽略了。欢迎任何帮助:-)
答案1
习惯上@
在绑定区域文件中使用缩写而不是使用域名。看来 zonesigner perl 代码期望这种约定。
将您的区域文件修改为下面的区域文件后,我可以毫无问题地生成密钥并对其进行签名。
$TTL 14400
@ IN SOA ns1.ghservers.org. hostmaster.jordikroon.nl. (
2013090704
14400
3600
1209600
86400 )
@ 14400 IN NS ns1.ghservers.org.
@ 14400 IN NS ns2.ghservers.org.
@ 14400 IN TXT "v=spf1 a mx ip4:85.17.32.228 ~all"
@ 14400 IN MX 10 mail
@ 14400 IN A 85.17.32.228
cp 14400 IN A 85.17.32.228
ftp 14400 IN A 85.17.32.228
localhost 14400 IN A 127.0.0.1
mail 14400 IN A 85.17.32.228
pop 14400 IN A 85.17.32.228
smtp 14400 IN A 85.17.32.228
www 14400 IN A 85.17.32.228
localhost 14400 IN AAAA ::1
答案2
检查你的named.conf,我很确定你有
zone "jordikroon.nl.db"
在您的区域定义中,而不是
zone "jordikroon.nl"