Eu não entendi porque atirar de canhão para voar. IHMO há uma maneira mais simples: Para usar recursos integrados do OpenVPN e linux iproute2 para redundância de múltiplos caminhos. Eu serei mais seguro, mais estável e menos consumidor de recursos.
Fonte: link
Implementando uma configuração de balanceamento de carga / failover Cliente
A configuração do cliente OpenVPN pode se referir a vários servidores para balanceamento de carga e failover. Por exemplo:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
direcionará o cliente OpenVPN para tentar uma conexão com server1, server2 e server3 nessa ordem. Se uma conexão existente for interrompida, o cliente OpenVPN tentará novamente o servidor conectado mais recentemente e, se isso falhar, passará para o próximo servidor na lista. Você também pode direcionar o cliente OpenVPN para randomizar sua lista de servidores na inicialização, para que a carga do cliente seja distribuída probabilisticamente pelo pool de servidores.
remote-random
Se você também quiser que as falhas de resolução de DNS façam com que o cliente OpenVPN se mova para o próximo servidor da lista, adicione o seguinte:
resolv-retry 60
O parâmetro 60 informa ao cliente OpenVPN para tentar resolver cada nome DNS remoto por 60 segundos antes de passar para o próximo servidor na lista.
A lista de servidores também pode se referir a vários daemons do servidor OpenVPN rodando na mesma máquina, cada um escutando conexões em uma porta diferente, por exemplo:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
Se os seus servidores são máquinas com vários processadores, a execução de vários daemons do OpenVPN em cada servidor pode ser vantajosa do ponto de vista do desempenho.
O OpenVPN também suporta a diretiva remota referente a um nome DNS que possui vários registros A na configuração de zona do domínio. Nesse caso, o cliente OpenVPN escolherá aleatoriamente um dos registros A sempre que o domínio for resolvido. Servidor
A abordagem mais simples para uma configuração de carga balanceada / failover no servidor é usar arquivos de configuração equivalentes em cada servidor no cluster, exceto usar um pool de endereços IP virtual diferente para cada servidor. Por exemplo:
server1
server 10.8.0.0 255.255.255.0
server2
server 10.8.1.0 255.255.255.0
server3
server 10.8.2.0 255.255.255.0