[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: iptables, redirecionamento externo, dúvida



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 <allisonvoll@yahoo.com.br>
Em 4/2/2009 15:55, PEdroArthur_JEdi escreveu:

2009/2/4 Allison Vollmann<allisonvoll@yahoo.com.br>:
 
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 debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org




--
Grato!
Rodrigo C. Carvalho
========================================
= SO: Debian Sarge 3.1       Iptables 1.3.1        SQUID 2.5  =
========================================

Reply to: