Serviço OpenVPN de alta disponibilidade

3

Atualmente, estou projetando um serviço OpenVPN para fornecer aos usuários da Internet maior privacidade.

Até agora, pretendo usar servidores dedicados que executam o CentOS e o Xen para fornecer vários domínios, cada um um servidor OpenVPN para alta disponibilidade e balanceamento de carga.

  1. Se um domU ficar inativo, quero trazer automaticamente um segundo domU no mesmo host. Esse tipo de failover é possível?

  2. Existe alguma solução para balanceamento de carga de conexões VPN para servidores domU?

por Michelle 20.02.2010 / 04:13

3 respostas

2
  1. Sim, é possível monitorar o status de um Xen DomU e executar algum comando arbitrário se o DomU falhar. Você pode executar uma instância do daemon do Monit em um terceiro host (DomU ou físico) que verifique o DomV OpenVPN principal e informe ao Dom0 para inicializar o DomU secundário se o principal tiver falhado. A documentação do Monit tem muitos exemplos que podem mostrar como implementar isso:

  2. Sim, o OpenVPN possui alguns recursos de alta disponibilidade e / ou compartilhamento de carga incorporados e é bastante simples de configurar.

Primeiro, você estará executando vários servidores OpenVPN, em paralelo, com cada servidor ouvindo em seu próprio endereço IP. Os servidores não compartilham o estado e não sabem nada um do outro.

Em seguida, você especifica várias opções '--remote', na linha de comando ou no arquivo de configuração do cliente OpenVPN. Quando o cliente tiver várias opções de servidor remoto disponíveis, ele escolherá aleatoriamente uma e fará uma conexão com ela. Se esse servidor falhar, ele tentará novamente a conexão e, em seguida, escolherá aleatoriamente um servidor diferente se não conseguir se conectar. Veja os documentos do OpenVPN, aqui, para mais informações:

Você pode querer ver minha resposta para uma pergunta semelhante, aqui:

Como observado em minha outra resposta, você provavelmente desejará prestar atenção a essas opções do cliente, em particular:

  • connect-retry
  • connect-retry-max
  • aleatório-remoto
  • ifconfig-pool-persist

Naturalmente, isso não é um balanceamento de carga verdadeiro, porque o cliente OpenVPN não seleciona o servidor com a carga mais baixa ou o mínimo de clientes - ele escolhe aleatoriamente um servidor. Se você precisar de balanceamento de carga real para garantir que as cargas do servidor permaneçam equalizadas, você precisará encontrar algum tipo de solução de balanceamento de carga dedicada, seja de hardware ou software.

    
por 22.02.2010 / 18:00
0
  1. Talvez você possa configurar as duas VMs domU como dois nós de um cluster HA normal do Linux. Mas acho que essa configuração só funciona se o segundo nó estiver em stand by, não desligado. Se você quiser que o nó domU de backup seja inicializado se o primeiro não funcionar, acho que você tem que escrever um script no nível dom0 que executa sempre a verificação da integridade do primeiro nó e, em caso de falha, forçar seu desligamento completo e o início do backup (eu não acho que tal script de shell deva ser muito difícil ou talvez você possa usar algum software bom para o linux que possa fazer o trabalho, mas poderia ser mais intrusivo).

  2. Além disso, você poderia considerar as duas VMs, como uma máquina Linux comum, e instalar e usar a solução Linux padrão de balanceamento de carga.

por 20.02.2010 / 13:19
0

Para sua configuração de cluster do OpenVPN HA você pode usar combinação de OpenVPN, Balanceamento de carga WAN e OSPF. Há um novo HOWTO aqui: link Aproveite!

    
por 16.06.2011 / 16:31