Redirecionar todo o tráfego para hosts especificados por trás do NAT

1

Existe a possibilidade de redirecionar todo o tráfego para hosts especificados por trás do NAT?

Por exemplo, eu tenho um servidor, um domínio "mydomain.com" e 3 hosts por trás do NAT. Desejo configurar 3 subdomínios:

host1.mydomain.com
host2.mydomain.com
host2.mydomain.com
e cada um deles para redirecionar todas as portas para o host especificado na rede local.

Esse redirecionamento deve fornecer funcionalidades como esta: link (pode ser obtido usando o apache)
ssh [email protected] (???)
e outros protocolos em diferentes portas

Obrigado por qualquer ajuda.

    
por biesiad 18.06.2010 / 08:30

3 respostas

2

Isso pode ser feito para HTTP e HTTPS com um "proxy reverso" que examina as informações do cabeçalho do host em uma solicitação HTTP, obtém o conteúdo apropriado e o retorna. O ISA (Internet Security and Acceleration) da Microsoft pode fazer isso, assim pode apache / squid no Linux.

Para todas as outras portas, você tem mais dificuldade, porque a maioria do tráfego não inclui o nome do host desejado, apenas um IP de destino (por exemplo: "Eu quero SSH para 1.2.3.4" em vez de "Eu quero SSH para host1" .mydomain.com)

O mapeamento de portas externas específicas para portas internas é fácil (porta 22 - > host1: 22, porta 23 para host2: 22, porta 24 - > host3: 22 etc) e às vezes é tudo o que é necessário.

Se você realmente precisar mapear todas as portas para diferentes servidores internos, precisará de vários endereços IP externos, o que a maioria dos ISPs pode fornecer (pelo menos se você tiver uma conexão comercial)

    
por 18.06.2010 / 08:57
0

apache mod_proxy?

    
por 18.06.2010 / 09:05
0

Não, não é possível fazer o encaminhamento de porta com base no nome DNS. O nome de domínio não faz parte do pacote IP, portanto, não há como o seu roteador usar isso para distinguir conexões de entrada.

Quando um host remoto se conecta ao host1.mydomain.com, ele resolve esse nome para um IP-adres, que é colocado no pacote IP. Se host2.mydomain.com resolver para o mesmo IP-adres, o pacote construído será exatamente o mesmo que para host1.mydomain.com.

Por esse motivo, é possível quando você tem vários endereços IP configurados no seu servidor.

O Apache pode distinguir o nome do domínio de entrada, mas isso está no nível do aplicativo. No HTTP 1.1, um navegador enviará o nome do domínio nos cabeçalhos HTTP, nos quais o apache pode filtrar usando Hosts Virtuais.

    
por 18.06.2010 / 10:44