Eu tenho este arquivo rnd.key no meu sistema:
key "rndc-key1" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxx==";
};
key "rndc-key2" {
algorithm hmac-md5;
secret "yyyyyyyyyyy==";
};
Então eu os uso para diferentes zonas:
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;
};
};
Quando tento executar "rndc freeze", recebo este erro:
rndc: error: /etc/bind/rndc.key:5: 'key' redefined near 'key'
rndc: could not load rndc configuration
O que isto significa? Qual é o problema aqui? Não é possível usar teclas diferentes para zonas diferentes?
Parece que você não entendeu o propósito da
rndc
chave.Muito possivelmente, esse mal-entendido decorre da leitura de um dos muitos tutoriais escritos de maneira descuidada que corta cantos ao usar mal uma chave já existente (a
rndc
chave) criada para um propósito específico em um contexto totalmente diferente, sem sequer comentar sobre esse uso indevido.A
rndc
chave deve ter UM propósito, deve ser usada pelorndc
utilitário enamed
para querndc
possa enviar comandos de controle paranamed
(por exemplorndc reload
,rndc freeze
ou qualquer outro).Esta chave NÃO deve ser usada para atualizações dinâmicas (como em
allow-update
).NÃO deve haver várias chaves no
rndc.key
arquivo.No entanto, você está livre, encorajado se quiser, para adicionar qualquer número de
key
instruções para suas chaves TSIG ànamed
configuração (named.conf
). Estas são as que você deve usar para propósitos como atualizações dinâmicas, transferências de zona, etc.Eu sugiro que você nomeie essas chaves de algo que reflita seu uso.
Se você tiver uma versão moderna do BIND, basta usar
tsig-keygen foo
para criar uma nova chave. É mais conveniente e possui padrões sensatos (hmac-sha256
em vez dashmac-md5
chaves que você criou).