Compartilhe um IP externo com vários hosts virtuais

Compartilhe um IP externo com vários hosts virtuais

Para um servidor centos que hospeda algumas máquinas virtuais LAMP (usando VirtualBox), tenho um único IP externo. Eu gostaria de poder usar esse IP externo de host único para endereçar as máquinas virtuais. Como encaminhar portas para máquinas específicas de fora:

2.2.2.2 > external IP [WAN]
10.0.0.1 > host IP (tiger) [LAN]
10.0.0.2 > virtual client #1 (zebra)
10.0.0.3 > virtual client #1 (mouse)

então o IP externo é encaminhado via roteador para o IP do host (tiger), ele irá então olhar para a porta e enviá-la para o zebra ou mouse. Ambos os clientes virtuais podem (deveriam) não estar usando as mesmas portas para Apache, etc.

De preferência, a solução de roteamento será feita no host, pois não tenho acesso ao roteador em si (mas posso solicitar configurações específicas se o administrador puder retirá-lo)

Espero estar claro.

Responder1

Se você simplesmente deseja rotear portas diferentes no 2.2.2.2 para máquinas virtuais diferentes, você pode fazer isso comtabelas de ip. Veja oGuia CentOSpara obter mais detalhes, incluindocomo tornar as regras persistentes( iptablesapenas altera as configurações até a próxima reinicialização). Para direcionar solicitações TCP recebidas na porta 13080 para 10.0.0.1 na porta 80:

iptables -t nat -A PREROUTING -p tcp --dport 13080 -j DNAT --to 10.0.0.1:80

Se quiser selecionar a VM dependendo do nome do host na solicitação HTTP, você precisará de um servidor HTTP para atuar como despachante. Você pode usar o Apache, mas para uma tarefa tão rápida e simples,Nginxé popular.

informação relacionada