Opa,<br>
<br>
Pra funcionar, além de vc fazer o DNAT, tem que fazer o SNAT dessa conexão:<br>
<br>
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport <porta X> -j<br>
DNAT --to-destination <IP_B>:<porta Y><br>
<br>
# iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport <porta X>
-s <REDE_LOCAL> -d <maq_2> -j SNAT --to-source
<ip_maq_a><br>
<br>
Sem falar que precisa ter uma regra de forward pra isso, caso sua politica seja restritiva.<br>
# iptables -A FORWARD -i eth0 -o eth0 -s REDE_LOCAL -d ip_maq_b -j ACCEPT<br>
<br>
O que foi feito:<br>
1 - Quando vc faz um DNAT, você está alterando o endereço de destino da conexão.<br>
2 - Quando vc faz um SNAT, você está alterando o endereço de origem da conexão.<br>
<br>
Nesse caso o que vai acontecer é que você quer conectar em IP_A, vai
ser redirecionado para IP_B. Porém, com isso, a conexão pro IP_B sai a
partir de IP_A, porém com o IP de uma terceira máquina. Ou seja, IP_C
conecta em IP_A que origina uma nova conexão pra IP_B com ip de IP_C.
<a href="http://192.168.0.3">192.168.0.3</a>, conecta em <a href="http://192.168.0.1">192.168.0.1</a> que cria uma nova conexão pra
<a href="http://192.168.0.2">192.168.0.2</a>, com ip de origem <a href="http://192.168.0.3">192.168.0.3</a>. Porém, <a href="http://192.168.0.3">192.168.0.3</a> originou
a conexão pra <a href="http://192.168.0.1">192.168.0.1</a> e não pra <a href="http://192.168.0.2">192.168.0.2</a> então eles não vão se
entender. Por isso tem que fazer o SNAT também. Putz, que rolo. hahaha<br>
<br>
Espero que você tenha entendido.<br><br><div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br> Alguém já utilizou o iptables para fazer um DNAT para uma máquina na
<br>mesma rede? Vou tentar explicar o cenário:<br><br>Máquina 1: IP_A<br>Máquina 2: IP_B<br>Máquina 3: IP_C<br><br> Máquina 1<br> # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport <porta X> -j<br>DNAT --to-destination <IP_B>:<porta Y>
<br><br> Máquina 2 - Ela está aceitando todas as conexões na '<porta Y>'.<br><br> Máquina 3<br> # telnet <IP_A> <porta X><br><br> Sendo que não retorna o telnet. Coloquei para logar tudo e vi que ele
<br>recebe a conexão e faz um FORWARD (liberei o forward) para o <IP_B> na<br><porta Y>. Depois ele faz um POSTROUTING de <IP_C> para <IP_B> na <porta<br>Y>. Alguém já precisou fazer algo parecido? Agradeço a todos.
<br><br>Abraços,<br>Aldrey<br></blockquote></div><br clear="all"><br>-- <br>Abraço!<br>Alejandro Flores<br><a href="http://www.triforsec.com.br/">http://www.triforsec.com.br/</a>