Eu tenho uma situação bastante estranha, mas é simples, eu juro. Eu tenho um servidor (vamos chamá-lo de host A) que está conectado à internet e eu uso para alguns sites e outras probabilidades e fins. Eu tenho outro servidor (vamos chamá-lo de B) que hospeda arquivos e algumas outras coisas, mas está atrás de um firewall e NAT.
O que eu gostaria de fazer é configurá-lo de modo que uma porta específica no host A aceite o tráfego TCP em uma determinada porta e encaminhe-a através de uma VPN ou outro túnel ponto-a-ponto para o host B. host B então será capaz de responder. Basicamente, o host A atuará como um balanceador de carga / proxy reverso, mas como o host B está em um local diferente em uma rede diferente (atrás de um firewall), gostaria que A e B se conectassem através de um túnel em vez de diretamente. >
Eu sei que isso é ineficiente, mas estou confiante de que é a melhor solução disponível para a situação de rede bastante estranha do host B.
Eu acho que a solução será uma mistura de fproxy e um túnel ipsec, mas estou tendo problemas para descobrir como configurar o ipsec corretamente (nunca usei antes). Eu olhei para o OpenSwan e para o StrongSwan, mas o problema é que ambos pretendem fazer a ponte entre duas LANs, e além disso, a documentação sobre NAT atravessada no ipsec parece estar além da minha compreensão. Na minha situação, quero que o túnel apresente apenas as duas máquinas envolvidas, provavelmente como sua própria interface em cada máquina. Dessa forma, eu poderia simplesmente configurar o fproxf (ou outro proxy reverso) para fazer proxy para um endereço IP virtual que automagicamente transportaria o tráfego para a outra máquina, onde apareceria o software naquela máquina como outro virtual endereço.
A questão chave que peço aqui, porém, é porque eu não sei se essa é a melhor maneira de fazer isso. Estou aberto a sugestões ou conselhos sobre como configurar o ipsec para permitir a comunicação entre as duas máquinas.