Resolvendo um firewall / roteador asymetric HA

3

Eu tenho uma configuração antiga de firewall / roteador HA do Linux que nunca funcionou. Como nunca foi totalmente colocado em produção real (apenas teste e demonstração), eu sempre tive que ter um firewall desligado para fazer o roteamento. Agora estamos planejando colocar isso em produção, eu preciso fazer isso funcionar.

Então, o que eu quero fazer é tentar finalmente funcionar corretamente em um modo de failover de alta disponibilidade.

O que eu tenho são dois servidores Linux atuando como firewall / roteadores. Cada um deles é alimentado diretamente com gotas de fibra 10G e uma rede ponto a ponto / 30. Eles executam o BGP. E eles rotear Infiniband que é o lado da LAN Isso explica porque eu não estou usando um roteador regular, mas um servidor para esse fim.

Esses 10G caem quando instalados, creio que foram denominados multiprocessadores ou similares, mas, no que me diz respeito, eles vêm do mesmo provedor e têm muito HA upstream.

Olhando para todas as configurações de HA, existe um IP flutuante no lado público e privado. Suponho que isso tenha a ver com a garantia de que os fluxos possam ser replicados corretamente para a máquina de backup ao usar o conntrackd. E normalmente o keepalived é usado no Linux para fornecer IP flutuantes na WAN e no lado da LAN da conexão.

Algo parecido com isto:

Emvezdeexplicardetalhadamenteaconfiguraçãoantigaquenãofuncionou.Euestoupedindodicassobrecomoeupoderiafazerissofuncionarcorretamente,dadoqueeunãotenhouminterruptornoladopúblico10G.Noentanto,tenhoolinketh2diretamenteentreosdoisroteadores.Eoutrolinketh3quesãoconectadosjuntospormeiodeumswitch.Euachoqueoqueeuestouquerendotentarevitaréoroteamentoassimétrico,ondeosfluxosvêmemumservidoresaemdooutro.Idealmente,eleentraránoservidorativo.

Ointervaloderede,conformemencionado,éfornecidopeloBGPeéum/25.

EuestouquerendosabersepossorealizaralgocomooseguintecomoLinux:

link

Posso usar a rede eth2 como um tipo de switch para que, se um pacote entrasse no servidor de backup, ele pudesse ser alimentado para outro servidor via eth2 e, em seguida, do mestre para a LAN? Isso funcionaria?

A outra coisa que eu estava pensando era ter duas rotas padrão na LAN e esquecer os IP flutuantes. Mas estou certo em pensar que isso poderia ser problemático? como eu garantiria uma sessão por servidor? Não consegui descobrir o roteamento de políticas no Linux.

BTW: Eu não tenho servidores windows atrás dos firewalls. Ele estará alimentando apenas servidores Linux.

Na verdade, Mark me lembrou que eu realmente pedi alguma ajuda sobre isso no início, mas eu não estava prestes a fazer nada com isso no momento em que a resposta chegou. Todos nós nos ocupamos e nos esquecemos disso. Eu encontrei o email.

A resposta foi:

Hello, Sorry for the late reply. Most of the time you would be able to use HA and have both firewalls working at the same time but that isn't possible here. What I would do here is use route-maps to direct traffic to one side vs the other. On the router you do not want the traffic, you would prepend the route(s) you send us. This makes the path to this device longer so our routers take the other path.

route-map Net:Out
set as-path prepend 65007 65007

router bgp 65007
neighbor <Net IP> route-map out NetDC:Out

On the same router you would then lower the preference of the routes we send you.

route-map Net:In
set local-preference 10

rotuer bgp 65007
neighbor <Net IP> route-map in Net:In

Please let me know if you have any questions. The syntax I posted was for Brocade but Quagga should be very similar.

Onde "Net" é, na verdade, o nome do provedor que não quero revelar.

Como isso funcionaria na prática? Eu sei que keepalive pode executar um script.

i.e. vrrp_instance MyVRRPInstance {  [...]  notificar /usr/local/bin/keepalivednotify.sh }

Ah, seria simplesmente trabalhar para parar o daemon BGP quando estiver no estado de backup e iniciá-lo no estado mestre?

    
por Matt 14.04.2015 / 23:31

0 respostas