BIND: Servidores de Nomes Mestre Redundantes

1

Então eu pesquisei e não encontrei nada relacionado a isso. Obviamente, isso tem que acontecer. Não consigo imaginar organizações que não tenham servidores mestre redundantes. A abordagem comum que encontrei no google é tornar redundantes os servidores escravos, mas isso não resolve o fato de que, se um mestre falha, um escravo só funciona corretamente por tanto tempo.

Eu tenho um conjunto de servidores DNS na minha rede de laboratório. Um mestre, dois escravos, dois servidores recursivos.

O mestre faz transferências de arquivos de zona para os escravos e fica oculto. Ele não aceita consultas ou permite recursão, projetado de acordo com os documentos de melhores práticas que encontrei na Internet.

Os escravos permitem consultas a partir dos servidores recursivos somente, que têm encaminhadores configurados para o DNS do ISP e os escravos locais (para resolução de rede interna de VMs e outros).

Estou planejando configurar outro servidor mestre para ativar a alta disponibilidade

Como faço para fazer isso com o BIND? Eu sei que posso definir masters { server1; server2; }; na configuração para os escravos, mas como eu lido com dois mestres?

  1. Se houver conflitos nos arquivos de zona entre dois mestres, quem terá precedência ao transferir para os escravos?
  2. Como defino o failover? Se o Master1 falhar, os escravos tentarão automaticamente o segundo IP listado no campo masters , correto? Então, eu não preciso definir nada para ter o failover automático?

EDIT: Aqui está um visual da minha configuração atual: (Eu gostaria de adicionar mais um servidor mestre)

    
por Patrick 06.10.2017 / 17:03

1 resposta

1

No caso de dual master, cada um se comporta de forma independente, você quer que as zonas sejam mantidas em sincronia.

Não há mestre que tenha precedência. Os servidores DNS pai normalmente (e devem) randomizar / girar a ordem em que os servidores de nomes para as zonas são apresentados, e o software cliente geralmente consulta isso na ordem em que foram recebidos. (Isso pode não ser o caso para alguns casos de canto - suponho que o pai seja controlado e / ou o roteamento possa ser manipulado em conjunto com um tráfego CDN / multicast)

Para fazer isso, você simplesmente configura cada servidor como mestre e não possui nenhuma linha "mestre". Eu uso um script para enviar atualizações idênticas para os mestres.

Você não precisa configurar o failover. Os clientes DNS tentarão sequencialmente os servidores de nomes se não receberem uma resposta. Dito isto, isto está longe de ser ideal para confiar nos clientes, uma vez que diminui notavelmente os tempos de resposta do DNS onde o primeiro servidor não responde. TTLs mais longos em registros SOA podem mitigar parcialmente isso.

Como tal, nenhum mestre tem precedência, eles são tratados de forma idêntica, embora você possa ponderar esse comportamento com ttls diferentes para o registro SOA e serial diferente - mas eu aconselharia isso, pois isso pode causar problemas. Eu nunca tentei, então eu estou falando teoricamente com base no entendimento que eu obtive enquanto aprendi isso há 20 anos e experiência prática subseqüente executando servidores master dual.

    
por 06.10.2017 / 18:47

Tags