NAT Helper para HTTP

0

Gostaria de expor um servidor Web disponível em uma intranet (endereço IP local atrás de um Firewall + NAT) para outro cliente na Internet ou LAN diferente.

Como não posso fazer nada no firewall (ex. encaminhamento de porta), minha única solução parece ser um NAT -to-NAT, conforme descrito pelo UltraVNC .

Alguém sabe de uma solução leve para expor um servidor web dessa maneira?

    
por Julien 02.08.2011 / 19:52

2 respostas

1

Digamos que seu servidor esteja em NetworkWithHttp e cliente em NetworkWithClient

Se o Roteador entre esses dois faz NAT para pacotes viajando de NetworkWithHttp para NetworkWithClient, NetworkWithClient não sabe nada sobre NetworkWithHttp: Todo o NetworkWithHttp se parece com UM host (o roteador) do seu ponto de vista.

A maneira mais fácil aqui é configurar o encaminhamento de porta (também conhecido como destino nat, DNAT), mas você não tem acesso ao roteador, certo?

Se o NetworkWithClient não estiver por trás do NAT - você pode criar um servidor VPN (qualquer sistema operacional de PC moderno e muitos roteadores de hardware suportam isso) e conectar o servidor do seu NetworkWithHttp a esse servidor VPN.

Em outros casos, você precisa de um servidor VPN em algum lugar no terceiro lugar em que as duas redes tenham acesso.

NH é um exemplo de tal serviço. Não é VPN, mas pode encaminhar o tráfego entre o cliente e o servidor.

    
por 31.05.2012 / 23:23
0

Parece que você quer expor um serviço de uma rede (por exemplo) 10.0.0.0/8 para outra rede 10.0.0.0/8 através da Internet, com NAT trabalhando nos dois lados.

A menos que o seu administrador de rede tenha encaminhado portas específicas para o seu IP interno, não há como você receber conexões de entrada de hosts fora da LAN. Seu host deve iniciar todas as conexões fora da LAN para que qualquer comunicação ocorra fora da LAN. Como isso é verdade em ambos os lados, vocês dois estão muito presos a esse respeito.

Há uma exceção: se você e a outra parte se conectarem a um serviço de VPN de terceiros, isso encapsulará suas conexões e, então, poderá funcionar. O OpenVPN pode ser configurado dessa maneira em um VPS ou outro local acessível - tanto o host quanto o host remoto se conectarão à instância do OpenVPN. Como uma conexão, iniciada por ambos os hosts, existe no servidor VPN, e o servidor VPN encaminhará o tráfego entre hosts (atuando como um roteador) no túnel, você poderá aceitar conexões de entrada através da rede "virtual" encapsulada.

O OpenVPN é bastante leve, mas requer algum conhecimento para configuração (especialmente se você quiser usar criptografia) e, obviamente, precisa estar em execução em um local separado e acessível para ambos os hosts. Não tenho certeza se algo "chave na mão" como o Hamachi VPN funcionará da mesma maneira.

Eu sugiro o OpenVPN porque ele usa TCP ou UDP, a seu critério. Um servidor Windows (ou Linux) com serviços PPTP em execução também pode ser usado, se um dos roteadores não estiver bloqueando o tráfego GRE de saída. Não tenho certeza de como a configuração do servidor PPTP está no Windows.

    
por 31.05.2012 / 22:56