Como lidar com vários servidores DNS eficientemente?

3

Eu adicionei recentemente mais servidores DNS BIND9 à minha rede, e o trabalho de adicionar cada zona / domínio que eu quero que os nós escravos sejam escravos está se tornando muito repetitivo, sem mencionar que ter apenas um servidor mestre cria um ponto fácil de falha. Existe uma maneira melhor de administrar as zonas DNS / escravos / etc?

    
por ThePopcorn 29.11.2013 / 06:46

3 respostas

7

Como sysadmin para um ambiente com dezenas de servidores DNS e milhares de domínios, sinto (bem, senti) sua dor. Nós resolvemos isso com bonecos e modelos.

Todos os nossos domínios e servidores também possuem entradas em nosso banco de dados de infraestrutura (até mesmo as zonas são geradas a partir daí, mas isso é irrelevante por enquanto). Então fazemos aproximadamente o seguinte:

Servidores de nomes principais:

  • O principal named.conf tem várias instruções include para arquivos gerados como abaixo
  • A configuração gerada inclui instruções de notificação para todos os escravos, gerados a partir de uma consulta SQL para nosso banco de dados de infraestrutura
  • A lista de domínios também é gerada a partir desse banco de dados

Nos escravos:

  • O principal named.conf tem várias instruções include para arquivos gerados como abaixo
  • A lista de domínios é gerada a partir do banco de dados de infraestrutura, incluindo informações sobre o mestre

Quando o fantoche altera qualquer um dos arquivos acima, ele também chama rndc reconfig para recarregar a configuração, mas somente se ela for analisada corretamente.

    
por 29.11.2013 / 10:42
1

Algumas sugestões podem ser:

  • Crie um servidor DNS somente em cache como o descrito em este artigo ?
  • Copie periodicamente a configuração de um escravo para outro (s) com rsync
  • Use heartbeat ou keepalived para fazer um servidor DNS primário de balanceamento de carga para um mesmo IP.
por 29.11.2013 / 10:00
1

Eu uso uma abordagem diferente. Com o PowerDNS, a replicação de zonas e registros é bastante fácil. Todo o dns-data é armazenado em um MySQL-DB e é replicado via MySQL para 2 servidores escravos, que também usam powerdns.

Esta configuração foi executada por cerca de 6 anos sem problemas.

BTW: bind ainda é usado para armazenamento em cache

    
por 29.11.2013 / 11:25