Considerando que a porta negociada seja sempre a 80
??=porta acima de 1024
xxx=qualquer numero (ou quase.. hehehe)
:80=porta 80
IPS: ???.???.????.??? 235.xxx.xxx.xxx 235.xxx.xxx.yyy
----CLIENTE:?? ---> 80:SRV_A:?? ----> 80:SRV_B
----CLIENTE:?? <--- 80:SRV_A:?? <---- 80:SRV_B
iptables -t nat -A PREROUTING -p tcp -d 235.xxx.xxx.xxx -s 0/0 --dport 80
-j DNAT --to 235.xxx.xxx.yyy
iptables -t nat -A POSTROUTING -p tcp -s 235.xxx.xxx.yyy -d 0/0 --sport 80
-j SNAT --to 235.xxx.xxx.xxx
Bem.. eu não testei aqui.. mas.. acho q isso iria resolver o seu problema...
Teste aí e depois nos diga!
Att,
Rodrigo
2009/2/4 Allison Vollmann <[email protected]>
> Em 4/2/2009 15:55, PEdroArthur_JEdi escreveu:
>
>> 2009/2/4 Allison Vollmann<[email protected]>:
>>
>>
>>> realmente funciona, mas tem um porém, só da certo se eu souber de quem
>>> vem a
>>> conexão, se for feita através de outro host não tem como identificá-lo no
>>> SNAT, ao menos que tenha alguma forma dinâmica de se fazer isso, pois
>>> creio
>>> eu que precisa pegar o endereço *source* da conexão de entrada em
>>> PREROUTING
>>> e inserilo como source do pacote em POSTROUTING, não sei se o netfilter
>>> suporta isso de alguma forma ou existe algum modulo a parte, mas com
>>> apenas
>>> 3 hostd pré-definidos aparentemente funciona muito bem.d
>>>
>>>
>>
>> Eu acho que as regras podem ser adaptadas da seguinte maneira:
>>
>> iptables -t nat -A PREROUTING -i eth0 -d 235.xxx.xxx.xxx -p tcp
>> --dport 80 -j DNAT --to 235.xxx.xxx.yyy
>> iptables -t nat -A POSTROUTING -o eth0 -d 235.xxx.xxx.xxx -p tcp
>> --dport 80 -j SNAT --to 235.xxx.xxx.xxx
>>
>> Nessa solução, o endereço 235.xxx.xxx.xxx sempre ficará como
>> intermediário, sendo dele a responsabilidade de atribuir o endereço de
>> origem apropriado. E se ter um intermediário não é problema, essa
>> solução pode ser usada para mais de um host, colocando-se diversos
>> DNATs.
>>
>>
>>
> O problema é se existirem N hosts que se conectem a ele através desse
> servidor pela mesma porta. Se forem poucos endereços da para definir da
> mesma maneira ou colocando em range, o único problema nesse caso é que ele
> iria repassar a conexão para todo mundo, e só quem pediu iria aceitar, agora
> se tiver que liberar para a internet inteira por exemplo acredito que não
> tenha como, por isso pedi se existe alguma forma de fazer o NAT dinamico,
> pois quando o pacote chega no servidor intermediario não tem como saber pra
> quem vai entregar ao menos que tenha algum jeito de marcar os pacotes e o
> servidor de destino fazer o mesmo.
>
>
>
> --
> To UNSUBSCRIBE, email to [email protected]
> with a subject of "unsubscribe". Trouble? Contact
> [email protected]
>
>
--
Grato!
Rodrigo C. Carvalho
========================================
= SO: Debian Sarge 3.1 Iptables 1.3.1 SQUID 2.5 =
========================================