Corrigindo erro BIND9 rndc “conexão com host remoto fechado”

4

Acabei de fazer algumas alterações em uma zona DNS no Webmin e cliquei no botão "Aplicar alterações". Recebi a mensagem de erro:

rndc: connection to remote host closed This may indicate that the remote server is using an older version of the command protocol, this host is not authorized to connect, or the key is invalid

Como posso diagnosticar / reparar isso? Eu copiei partes da configuração do BIND de um servidor com falha, então eu suspeito que foi isso que causou isso ...

    
por Josh 11.01.2011 / 20:58

3 respostas

7

Com uma pequena ajuda do @plluksie, resolvi isso sozinho. Aqui está o que eu fiz:

  1. Primeiro, executei rndc-confgen -a para regenerar minha chave rndc e o arquivo conf.
  2. Em seguida, verifiquei que o conteúdo de /etc/rndc.key era igual a /var/named/chroot/etc/rndc.key . Eles foram ( /etc/rndc.key foi um symlink para /var/named/chroot//etc/rndc.key no meu sistema)
  3. Depois, editei /etc/rndc.key e copiei a nova chave. Eu colei essa chave em /etc/rndc.conf e /var/named/chroot/etc/rndc.conf
  4. O i reiniciou o BIND via /etc/init.d/named restart e testou usando: rndc reload some.zome .

Estes passos resolveram o problema para mim.

    
por 12.01.2011 / 15:55
5

Assegure-se de que o arquivo /etc/rndc.conf exista e tenha

key somekey {
         algorithm hmac-md5;
         secret "somesecret";
     };

e também há seção apropriada em /etc/named.conf:

key "somename" {
     algorithm hmac-md5;
     secret "somesecret";
};

controls {
     inet * port someport allow {"somegroup";} keys {"somename";};
};

Não se esqueça de ler o named.conf (5) e o rndc.conf (5)

Se isso não ajudar, faça o que está descrito na mensagem de erro: verifique as versões nomeadas e rndc (deve ser o mesmo)

    
por 11.01.2011 / 21:07
0

Você muda as chaves? Se você não parar o serviço antes de executá-lo, a chave registrada no daemon do servidor será a antiga e o rndc sempre usará o novo. Então as chaves são diferentes, então rejeitadas pelo bind. Você deve matar o daemon e reiniciá-lo. A chave é relida na leitura e uso da configuração.

    
por 11.01.2011 / 21:49