Encaminhamento de porta usando iptables no Linux

2

Eu quero encaminhar uma porta local para uma porta remota (8041) para uma porta (8042) em uma máquina remota (10.0.0.42). Eu posso fazer isso via

ssh -L 10.0.0.41:8041:10.0.0.42:8042 user@localhost

onde 10.0.0.41 está vinculado a eth0 .

Agora, quero fazer isso sem toda a sobrecarga de criptografia e de usuário.

Meu palpite seria

iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.0.0.41 --dport 8041 -j DNAT --to 10.0.0.42:8042

e ativar o ip-forward - mas não funciona.

    
por not-a-user 20.11.2013 / 18:34

1 resposta

3

Você também precisa adicionar uma regra SNAT.

Agora, você tem isso:

Client ---> NAT box ---> Server
  /|\                       |
   |                       /
    \_____________________/

Isso não funciona; o cliente não está ciente do NAT e, portanto, ficará confuso quando a resposta vier diretamente do servidor. Então você precisa fazer com que o servidor veja a caixa NAT como a fonte - o que você faz adicionando uma regra SNAT.

Client <---> NAT box <---> Server
    
por 20.11.2013 / 19:12