Servidor DNS de código aberto com back-end do banco de dados

8

Estou procurando um servidor DNS de código aberto gratuito que possa manter todos os dados no back-end do banco de dados.

Atualmente encontrei as próximas soluções:

  • MyDNS-ng (parece OK - fork do MyDNS)
  • PowerDNS (parece OK)
  • Bind9 com DLZ (correções adicionais, pode ser complicado de configurar, última atualização em 2004)

Ele precisa ser rápido e obter novas zonas quase imediatamente, conforme aparecem no banco de dados (a cada 10 minutos). No meu cenário, crio muitos subdomínios em um domínio principal. O layout da zona será o mesmo para todos os subdomínios.

Então, alguém pode me dizer outras opções ou algumas falhas na atual?

obrigado


Ok, decidi usar o MyDNS ou o PowerDNS como mestre da zona oculta (tentarei ambos). Servidores escravos (provavelmente BIND9) verão as atualizações imediatamente usando o RFC1996 (DNS NOTIFY).

Alguma atualização adicional?

Mike
fonte
Eu sei que você detestará a resposta, mas "Ele precisa ser rápido e obter novas zonas imediatamente, conforme elas aparecem no banco de dados (a cada 10 minutos)." é intrigante. Você realmente precisa de novas zonas tão rapidamente?
Bortzmeyer
Claro que não. Mas deve ser rápido - <60 segundos.
Mike

Respostas:

16

Atualmente, usamos o PowerDNS para hospedar muitas zonas usando um servidor MySQL.

O PowerDNS tem sido ótimo para nós. Alguns prós / contras:

Prós:

  • Usa o back-end do MySQL - outros back-ends do banco de dados estão disponíveis
  • Atualizações no DB são publicadas instantaneamente
  • Muito amigável à replicação do MySQL. Executamos dois servidores com replicação e atualizações publicadas instantaneamente nos dois DBs (e as consultas DNS são instantâneas nos dois)
  • O esquema SQL é muito fácil de usar e manipular. Eles fornecem um front-end difícil de usar para zonas maiores.

Contras:

  • Atualizar versões principais não é muito divertido
  • A falta de frontend de qualidade significa que você precisa de um frontend para fazer o trabalho. Isso é uma coisa boa / ruim.
Dave Drager
fonte
Obrigado pela resposta ddragger. Você também usa o PowerDNS como um servidor de nome secundário?
Mike
Usamos o PowerDNS como primário e secundário. Suponho que, se você quiser mais redundância, poderá usar um servidor diferente para o secundário e delegar o DNS para esse servidor - em vez de fazer a replicação do MySQL, embora ela não seja atualizada tão rapidamente quanto a principal.
Dave Drager
O PowerDNS funcionou muito bem quando eu trabalhava em um ambiente de hospedagem virtual pré-empacotado muito ativo. Usamos o BIND como um servidor secundário. Houve um trabalho cron que verificou os dois quanto a erros de replicação.
9139 Karl Katzke
É bom manter esse servidor como mestre oculto ao enviar o RFC1996 (DNS NOTIFY) para o DNS secundário quando a zona é atualizada. Isso deve ser mais seguro e rápido e, em caso de falha do banco de dados em qualquer problema no mestre, tudo continuará funcionando bem.
Mike
Eu concordo. Além disso, se o PowerDNS tivesse um dia 0 e fosse invadido, a execução de um servidor DNS totalmente diferente o isolaria de problemas (embora se um usuário mal-intencionado começasse a alterar os registros DNS, ele ainda se propagaria para o DNS secundário). Mantemos backups SQL com retenção em caso de problemas.
Dave Drager
2

Estou usando o MyDNS-ng, que é exatamente o mesmo projeto bifurcado, é ótimo quando você o monta com o MyDNSConfig .

Ariel Antigua
fonte