Ligação sobre OpenVPN, para tolerância a falhas

2

Eu tenho dois servidores OpenVPN e dois computadores conectados a eles.

Servidor 1 endereço openvpn: 10.158.1.1
Servidor 2 endereço openvpn: 10.158.2.1

A máquina 1 tem o endereço 10.158.1.11 no servidor 1, 10.158.2.11 no servidor2.
A máquina 2 tem o endereço 10.158.1.12 no servidor 1, 10.158.2.12 no server2.

Um diagrama simples baseado em texto se parece com:

10.158.1.11 (machine1) < ------- (10.158.1.1 server1) ------- > 10.158.1.12 (machine2)
10.158.2.11 (máquina1) < ------- (10.158.2.1 servidor2) ------- > 10.158.2.12 (máquina2)

Neste ponto, tudo está bem, eu posso pingar 1,11 de 1,12, 2,11 a partir de 2,12 etc ..

Para que as máquinas possam se conectar através de duas interfaces VPN via servidor openvpn (cliente-cliente habilitado no servidor openvpn)

O que eu gostaria de conseguir é ter uma interface unida, ter apenas um IP para as máquinas conversarem entre si.

Exemplo: 10.159.0.1 para a máquina 1 e 10.159.0.2 para a máquina 2.

Tentei colocar tap10 e tap20 (openvpn interfaces respectivamente) no modo de ligação active-backup, mas se eu usar mii, obviamente ele não detecta se a interface vpn está inativa, já que o openvpn não coloca a interface de toque para baixo se o link cair

Também tentei usar o monitoramento de arp, mas a ligação pensa que toda a interface está inativa, já que o ARP não funciona quando as interfaces são escravizadas. Tentei usar túneis GRE (para ser mais específico, GRETAP, não regular GRE, que é apenas l3) sobre os toques openvpn, mas eles falharam como interfaces TAP normais.

PS: Máquina 2, Servidor 1 rodando Debian 9, Servidor 2 e Máquina 1 rodando Debian 8.
Nos sistemas Debian 8, usando o backported 2.4 OpenVPN. Então as versões do OpenVPN combinam.

Alguma idéia do que fazer?
Obrigado pela sua contribuição!

    
por WorK 13.08.2017 / 12:13

1 resposta

1

Eu começaria a responder isso afirmando que sua estratégia não funcionará. Você não vai se unir nessas interfaces. Quando você entra no roteamento, você abandonou as noções de ligação e agora está no reino das tecnologias avançadas de roteamento como o BGP ou os próprios servidores VPN de balanceamento de carga. No entanto, sem conhecer seus requisitos, não posso fazer uma recomendação muito sólida.

O BGP é provavelmente uma resposta em potencial para possíveis requisitos de rede externa, já que ele pode rotear vários ISPs comumente localizados para redundância de links "internet". Você pode até usá-lo para rotear dinamicamente entre regiões geográficas e fornecer disponibilidade geográfica diversa. Talvez você não precise disso, mas se tiver dois sites sob seu controle para o mesmo propósito, considere algo assim.

Se você deseja criar clusters de servidores com colocação local para o OpenVPN em vez de ou além do roteamento avançado, será necessário empregar o uso de um balanceador de carga (aplicativo) com monitoração para cluster ativo / ativo ou utilizar o Linux HA com Marcapasso para gerenciar recursos em um cluster de failover.

Ambas as sugestões geralmente são muito complicadas para serem expandidas e completadas por esse meio, e geralmente servem para servir como indicadores para você possivelmente reconstruir sua estratégia.

E, finalmente, odeio fazer recomendações de produtos; eles não envelhecem bem. No entanto, no momento em que este artigo foi escrito, o "PFSense" é um excelente produto pronto para uso que o ajudará a agrupar o OpenVPN em um par de HA e gerenciar o tráfego BGP. Se você está perdido nos detalhes e quer um conceito ou produto em funcionamento, isso pode ajudá-lo. Esse appliance de firewall leva apenas alguns minutos para ficar totalmente funcional mesmo em uma máquina virtual.

    
por 13.08.2017 / 12:34