Você não poderá fazer com que todas as 3 máquinas compartilhem um endereço IP. Não como funciona a rede. Confira esta resposta sobre como funciona o roteamento de rede para obter uma explicação sobre como porque.
O que você poderia fazer: Configure um proxy reverso como seu gateway e depois encaminhe um endereço com base no cabeçalho de solicitação do host HTTP. Eu recomendaria usar Libra , já que é leve e seu único objetivo é ser um proxy HTTP reverso. Você poderia usar o apache ou o nginx para realizar a mesma coisa se você estiver mais familiarizado com eles.
Depois de ter sua configuração de proxy reverso, você pode usar NAT para seus servidores e ter seu gateway configurado com seu IP estático.
Exemplo sobre como fazer isso em Pound ( 1.2.3.4
é seu IP estático, todos server#.example.com
são registros A para esse IP estático):
ListenHTTP
Address 1.2.3.4
Port 80
Service
HeadRequire "Host: .*server1.example.com.*"
BackEnd
Address 192.168.3.11
Port 80
End
End
Service
HeadRequire "Host: .*server2.example.com.*"
BackEnd
Address 192.168.3.12
Port 80
End
End
Service
HeadRequire "Host: .*server3.example.com.*"
BackEnd
Address 192.168.3.13
Port 80
End
End
End
Resposta ao comentário
Se você quiser manter o proxy reverso em um dos servidores atuais, terá que:
- Escolha um dos servidores para ser o proxy reverso.
- Peça ao seu roteador que redirecione todo o tráfego HTTP para esse proxy reverso.
- Configure seus servidores HTTP no 3
server#.example.com
para ouvir uma porta alternativa --- talvez 8080. - Por fim, configure seu proxy reverso para encaminhar o tráfego com base no cabeçalho
host
para os servidores HTTP na porta 8080.
Configurar uma porta alternativa nos servidores HTTP deve ser bem simples. A parte apenas um pouco difícil seria configurar o proxy reverso, mas você pode encontrar muitos exemplos de que está sendo feito usando libra, apache ou nginx.