O encaminhamento de porta do IPTables mantém o endereço IP de origem

3

Espero que alguém possa me ajudar com essa configuração. Eu já tenho uma configuração de trabalho em que uma caixa do Linux está agindo como um roteador apenas fazendo o encaminhamento de porta para IP's públicos. Estes são todos os IP públicos btw.

HOST_x - Pode ser qualquer host com IP público. (ex: x.x.x.x)

MY_LINUX - Usando o IPtables apenas fazendo o encaminhamento de porta para IPs públicos. (IP fixo, ex: 2.2.2.2)

SERVER - servidor da Web com endereço IP público. (IP fixo, ex. 3.3.3.3)

PORTA - (PORTA TCP = 80)

Aqui está a configuração em MY_LINUX:

iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 --dport 80 -j DNAT --to-destination 3.3.3.3:80 iptables -t nat -A POSTROUTING -p tcp -d 3.3.3.3 --dport 80 -j MASQUERADE

A configuração acima funciona. Quando HOST_x digita no 2.2.2.2 no navegador, ele obtém página da Web a partir de 3.3.3.3.

O único problema que tenho aqui é que o destino SERVER (3.3.3.3) vê o pedido vindo de MY_LINUX (2.2.2.2), o que eu quero ver é o IP original do request HOST_x (xxxx).

Gostaria de receber sugestões, obrigado.

    
por halflogic 13.02.2013 / 16:41

2 respostas

3

Eu diria que isso não é possível no nível de camada 3. HOST_x está esperando que os pacotes restantes venham do host onde iniciou a conexão MY_LINUX. Se, de repente, o SERVIDOR entrar no meio do handshake TCP e responder, o HOST_x simplesmente ignoraria esses pacotes.

Como o HOST_x e o SERVER têm conectividade direta, acho que seria melhor mover esse esquema de roteamento para a camada de aplicativo e implementar redirecionamentos HTTP. Então HOST_x abre uma conexão diretamente ao ponto final.

    
por 13.02.2013 / 17:24
0

Você pode fazer isso se tiver acesso aos servidores da Web (ou ao gateway deles) também. A única solução que me vem à mente é um túnel entre o roteador e o servidor da web. Em seguida, o servidor da Web (gateway) pode enviar todos os pacotes de resposta ao roteador sem precisar ajustar o endereço de destino. Se isso é uma opção para você, então vou dar uma olhada nos detalhes.

    
por 13.02.2013 / 19:16