我的系统上有这个rnd.key文件:
key "rndc-key1" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxx==";
};
key "rndc-key2" {
algorithm hmac-md5;
secret "yyyyyyyyyyy==";
};然后我将它们用于不同的区域:
zone "somedomain1.com" {
type master;
file "/etc/bind/master/db.somedomain1.com";
allow-update {
key rndc-key1;
};
};
zone "somedomain2.com" {
type master;
file "/etc/bind/master/db.somedomain2.com";
allow-update {
key rndc-key2;
};
};当我试图运行"rndc冻结“时,会得到以下错误:
rndc: error: /etc/bind/rndc.key:5: 'key' redefined near 'key'
rndc: could not load rndc configuration什么意思?这里有什么问题?不可能对不同的区域使用不同的键吗?
发布于 2017-09-17 15:03:01
您似乎误解了rndc密钥的用途。
这种误解很可能是因为阅读了许多草率编写的教程之一,这些教程错误地使用了一个已经存在的密钥( rndc键),在完全不同的上下文中为一个特定目的而创建,甚至没有对这种滥用进行评论。
rndc密钥应该有一个用途,即由rndc实用程序和named使用,以便rndc能够向named发送控制命令(例如rndc reload、rndc freeze或其他任何东西)。
此键不应该用于动态更新(如allow-update中)。
rndc.key文件中不应该有多个键。
但是,如果愿意的话,您可以自由地为TSIG键添加任意数量的key语句到named配置(named.conf)中。这些应该用于动态更新、区域传输等目的。
我建议你把这些钥匙命名为反映它们的用法的东西。
如果您有一个现代版本的BIND,只需使用tsig-keygen foo创建一个新键即可。它既更方便,又有合理的默认值(hmac-sha256而不是您创建的hmac-md5键)。
https://serverfault.com/questions/874103
复制相似问题