Configurando proxy reverso para máquinas virtuais no HostOS

2

No momento, estou instalando um servidor que consiste em um Host de Virtualização (kvm no Ubuntu) e 7 VMs, algumas rodando MySQL e LDAP, outras rodando diferentes servidores web e aplicações web. As VMs que executam os bancos de dados só seriam consultadas pelas outras VMs no mesmo servidor físico. As VMs do servidor web irão executar algo como 10 a 20 websites e aplicações web. O servidor será colocado em um datacenter, diretamente conectado à internet.

Minha idéia era usar a rede NAT entre o Host e as VM's (formando uma LAN internamente) e atribuir ao HostOS o endereço IP público. O HostOS executará o firewall (com iptables) e distribuirá o tráfego de rede para as VMs. As VMs seriam inicialmente desprotegidas completamente do lado de fora e, portanto, não haveria necessidade nesse esquema de ter um firewall completo em nenhuma das VMs. Além disso, eu só precisaria de um endereço IP público. Eu tenho que pagar mais por endereços IP adicionais e não posso ter mais que 5.

Imaginei que poderia usar um proxy reverso no HostOS para distribuir o tráfego entre as VMs com base nos nomes de host solicitados.

Minha pergunta é dupla:

  • Esta é uma boa maneira de configurar o hostOS e as VMs? Ou será que um proxy reverso diminuiria muito o servidor? Em vez disso, eu deveria apenas usar bridge networking (recomendado pela maioria das fontes), aceitar que todas as minhas VMs sejam diretamente expostas ao exterior e tomar medidas sobre elas de acordo com isso?
  • O que seria um bom proxy reverso para ser executado no hostOS. Eu ouço boas histórias sobre o haproxy. Eu configurei o mod_proxy antes (em um cenário completamente diferente), mas eu ouvi que a maioria das pessoas prefere o HAproxy. Ou eu preciso de algum proxy reverso de peso ultraleve que tenha o mínimo de pegada para não retardar demais o hostOS?
por Jasper 27.11.2011 / 22:39

2 respostas

1

Estou usando exatamente esse tipo de arquitetura com o Proxmox. O bridge networking não é uma opção, já que não tenho um número suficiente de IPs públicos para as máquinas virtuais. Estou usando o nginx como máquinas virtuais de proxy, você pode configurá-lo diretamente no Host, mas usar uma máquina virtual também não é uma má ideia (tente manter a configuração do host o mais simples possível).

    
por 10.12.2011 / 10:25
0

A única maneira de usar a rede de ponte é ter um IP para cada VM que deve estar conectada à Internet. Como isso significa que você precisa proteger cada VM por conta própria, pode ser menos trabalhoso usar apenas um firewall em seu sistema host. Há também bons tutoriais para isso, se você usar o libvirt ( link ). Na minha experiência (com nginx) não houve desaceleração perceptível com esta solução. Eu suponho HAproxy poderia ser ainda mais rápido.

    
por 07.01.2017 / 14:28