Solicitações de roteamento de nomes de host externos para endereços IP internos no Ubuntu

2

Eu quero hospedar vários sites usando o mesmo endereço IP. Meu ISP me dá um endereço IP estático, no entanto eu tenho três webservers diferentes (todos rodando sites diferentes) conectados atrás de um switch barato que todos estão atrás desse endereço IP (eu um é apache, e dois são windows boxes, então eu não pode realmente consolidá-los). Eu posso fazer o encaminhamento de porta com este switch com base na porta e no endereço IP de entrada, mas não no nome do host. Esta não é uma solução de longo prazo, pois a única maneira de diferenciar qual servidor da Web estou tentando acessar é pela porta. E isso é feio.

Eu também tenho uma caixa linux com duas placas de rede que eu espero usar como um firewall / roteador mais robusto. Minha pergunta é - qual é a melhor maneira de transformar minha caixa de Linux (rodando o Xubuntu) em um roteador que será capaz de rotear baseado em nomes de host e não apenas em endereços IP? Eu quero deixar o Xubuntu na caixa, então não há distribuições dedicadas de roteadores por favor.

Eu olhei para o Shorewall, mas não consegui encontrar uma maneira de rotear os pacotes com base no nome do host em vez do endereço IP. O IPTables é o caminho a percorrer? Em caso afirmativo, alguém poderia me indicar um tutorial ou algo sobre como fazer isso? Eu pesquisei e fiquei chocado que este não é um cenário mais comum!

    
por Eric 11.07.2010 / 22:19

1 resposta

4

Não é possível rotear com base no nome do host. Todo o conceito de DNS é algo que existe em um nível mais alto do que o tráfego de rede básico.

(Para mais informações, leia sobre o modelo OSI em geral e o TCP/IP modelo em particular.)

Por outro lado, o protocolo HTTP sabe sobre nomes de host. Portanto, você deve ser capaz de configurar um proxy reverso no endereço externo, encaminhando solicitações para diferentes endereços internos, com base no nome do host recebido. Uma opção é usar o Apache e mod_proxy .

    
por 11.07.2010 / 22:58