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

Re: iptables, redirecionamento externo, dúvida



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.


Reply to: