Failover de registros A no Bind

211 views
Skip to first unread message

franchesco alba

unread,
Oct 19, 2017, 11:33:35 AM10/19/17
to Tchelinux
Bom dia!!

Gostaria de saber se alguém encontrou uma solução para a nível de failover de apontamento de DNS.

No caso tenho 2 links de Internet que chegam no firewall. O failover no firewall ocorre perfeitamente e possuem NATs redirecionando para IP interno.

Tenho criado os apontamentos conforme exemplo:

www             IN      A       189.189.189.189

www             IN      A       187.187.187.187



Quando está dessa forma, é feito um round robin, porém quando falha um dos ISP, não acessa.

Pesquisei e encontrei algumas ferramentas que é pago anualmente para fazer isso. Alguém conhece alguma outra solução?

Abraço!

Marcos Alano

unread,
Oct 20, 2017, 9:54:45 AM10/20/17
to tche...@googlegroups.com
Franchesco,

O DNS recursivo, que consulta seu DNS autoritativo, não sabe que o seu
servidor primário está fora do ar, então ele resolve
com o IP que está fora. Mesmo que tu use um DNS que só responda a
entrada que está no ar, o cache de DNS pode continuar respondendo a
rota que está fora do ar. Tu poderia colocar um tempo bem pequeno de
cache, como 5 segundos, mas isso iria aumentar muito as consultas ao
DNS autoritativo. Entradas A não tem peso como entradas MX e SRV. Se
tivesse isso seria fácil de resolver. Não acho que DNS round robin
seja adequado para dividir a carga e fazer redundância entre
servidores. O Google por exemplo usa DNS Round Robin para os
servidores DNS e não os servidores finais, que só retornam uma única
entrada no DNS.
> --
> Mensagem enviada para <http://groups.google.com/group/tchelinux>.
> Regras de Conduta para o grupo:
> <http://wiki.tchelinux.org/#!tchelinux/regras.md>
> ---
> Você recebeu essa mensagem porque está inscrito no grupo "Tchelinux" dos
> Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie
> um e-mail para tchelinux+...@googlegroups.com.
> Para mais opções, acesse https://groups.google.com/d/optout.



--
Marcos H. Alano
Linux System Administrator
marcos...@gmail.com

Eduardo de Oliveira

unread,
Oct 22, 2017, 9:00:54 AM10/22/17
to Tchelinux
Franchesco,

Apenas complementando a resposta do Marcos Alano, também acredito que o DNS não seja a solução ideal devido aos motivos que o próprio Marcos explicou (devido ao DNS responder a solicitação do cliente enviando o endereço IP indisponível por desconhecer o estado da conexão com o ISP).

Basicamente, o que você precisaria para fazer a redundância funcionar, de fato, seria através do uso de BGP. Com o BGP, você adquire uma faixa de endereços IP e registra um ASN no RIPE, que basicamente identifica você como parte da Internet (possibilitando que você compartilhe a mesma faixa de endereço entre múltiplos ISPs), e não apenas um usuário conectado a um ISP. [1] Com isso, você precisará possuir dois roteadores que compartilharão o mesmo endereço IP em standby/failover. Se um ISP falhar, o tráfego é direcionado ao outro automaticamente. Porém, a possibilidade de você conseguir um registro ASN é praticamente nula. [2]

Você pode usar o DynDNS.org em conjunto com scripts de monitoramento, que possui uma API HTTP que permite a você notificá-los para realizar mudanças do registro DNS quando um link torna-se indisponível [3], caso você não possua controle sobre o TTL do seu servidor DNS.

Não há muito o que fazer no seu caso além de trabalhar com tempos menores de DNS e trabalhar com scripts de monitoramento. Pude encontrar o stfdyn, que atua como um "DynDNS" open source, permitindo que você altere registros DNS através de requisições HTTP. Quando um link tornar-se indisponível, você pode usá-lo para atualizar o registro do seu servidor DNS.

Alguns navegadores, como o Google Chrome, são inteligentes o bastante e, quando não conseguem acessar um website, caso a consulta DNS tenha retornado mais de um endereço IP, ele tenta todos antes de exibir a mensagem de erro de conexão.

Outra alternativa seria hospedar o serviço em alguma hospedagem Web que garanta alta disponibilidade, caso o sistema possua alta criticidade e necessita estar on-line 24x7.

Referências:
  1. How can I use multiple ISPs to increase bandwidth and redundancy for my website?. Server Fault.
  2. Web server address with two ISPs. Network Engineering.
  3. load balancing two web servers each on two different isp's?. Server Fault.
Reply all
Reply to author
Forward
0 new messages