Rota padrão de failover na indisponibilidade do link principal

0

Eu tenho 2 ISPs e um servidor com dois endereços IP, algo assim:

eth0: 161.0.0.2
eth1: 171.0.0.2

Defina www.example.com com dois registros A, para que eu tenha DNS LB.

O aplicativo está funcionando bem dessa forma, e a caixa do Linux é definida com o roteamento baseado em política para evitar o roteamento assimétrico de conexões. Os pacotes de saída saem através da mesma interface que as conexões de entrada foram estabelecidas.

Agora, só resta o problema de configurar um único gateway padrão, 161.0.0.1 . Eu gostaria de obter LB ou pelo menos failover para conexões de saída também.

Uma maneira que eu poderia fazer é com o cronjob que irá pingar algum host e se o ping falhar, mude a rota padrão para 171.0.0.1 , mas este método parece muito pouco confiável.

Alguma sugestão sobre como fazer o roteamento padrão de failover?

    
por Jakov Sosic 24.07.2016 / 12:04

2 respostas

0

Se você não quer entrar em protocolos reais de roteamento, a melhor sugestão é um programa que execute continuamente os dois primeiros saltos (com seus endereços inventados, que seriam 161.0.0.1 e 171.0.0.1) regularmente e instala o que estiver respondendo como a rota padrão. Você provavelmente poderia fazer isso na sua escolha de linguagens de script, embora eu provavelmente faria isso em C. eu mesmo. Na verdade, eu tenho (mas não posso mais encontrar esse código). É simples o suficiente para acertar, e fazer isso em C diminui bastante o impacto no seu servidor.

    
por 24.07.2016 / 19:49
0

Eu tenho uma resposta, embora você não goste. Vários RR A no DNS não oferecem alta disponibilidade. A resposta é altamente dependente do cliente / seu servidor DNS.

Se o cliente resolver o endereço IP do ISP que está inativo, ele será mantido no cache e não tentará o outro, portanto, você terá um conjunto de clientes com acesso e outros reclamando que o site está inativo .

Os TTLs baixos também não o ajudarão, já que alguns clientes DNS / grandes ISPs são conhecidos por ignorar TTLs baixos, portanto, mesmo com LOW TTLs no DNS, você terá conjuntos de clientes sem acesso.

Uma das soluções possíveis é alistar os serviços de um CND, como cloudflare , e configurar os dois endereços IP.

A outra maneira mais complicada de obter redundância para rotas externas é solicitar um número de AS, usando espaço de endereço IP independente do provedor para ambas as redes e fazendo peering de BGP com seus provedores.

Quanto à rota ao sair, para aproveitar o tráfego de ambos os ISPs, aconselho fazer políticas para usar o gateway correspondente, o roteamento baseado na origem. link

    
por 24.07.2016 / 20:27