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

iptables forwarding nat + p2p + policy drop



Hola gente..
sigo sin entender algunas cuestiones de iptables:

tengo un script para rutear hacia una lan, haciendo nat y forwarding con la tabla filter en drop, etc etc..

el tema es que:

1º Tengo mi emule configurado para el puerto 2000/tcp 2010/udp, bien. Para que lograr que este bicho funcione con las políticas estan en drop (excepto de la tabla nat, solo filter) tuve que hacer algo como lo siguiente:

En NAT:

iptables -t nat -A PREROUTING -i ppp0 -p tcp --sport 1024:65535 --dport 2000 -j DNAT --to 192.168.0.2:2000 iptables -t nat -A PREROUTING -i ppp0 -p udp --sport 1024:65535 --dport 2010 -j DNAT --to 192.168.0.2:2010

Y en filter:

iptables -t filter -A FORWARD -i eth1 -p tcp --sport 1024:65535 --dport 2000 -d 192.168.0.2 -j ACCEPT iptables -t filter -A FORWARD -o eth1 -p tcp --sport 1024:65535 --dport 2000 -d 192.168.0.2 -j ACCEPT iptables -t filter -A FORWARD -o eth1 -p udp --dport 1024:65535 --sport 2010 -j ACCEPT iptables -t filter -A FORWARD -i eth1 -p udp --dport 1024:65535 --sport 2010 -j ACCEPT

OK, tengo una "ID Alta" en ambas redes (ed2k y kademlia)

Sin embargo viendo un poco el trafico en iptraf aparecen conexiones del tipo:

UDP (50 bytes) from 190.51.60.99:2010 to 124.135.213.248:6268 on ppp0
UDP (66 bytes) from 192.168.0.2:2010 to 84.220.31.159:36625 on eth1
UDP (66 bytes) from 190.51.60.99:2010 to 84.220.31.159:36625 on ppp0
UDP (79 bytes) from 192.168.0.2:2010 to 60.234.142.64:57766 on eth1
UDP (79 bytes) from 190.51.60.99:2010 to 60.234.142.64:57766 on eth1
UDP (163 bytes) from 79.103.169.41:54786 to 190.51.60.99:2010 on ppp0
UDP (163 bytes) from 79.103.169.41:54786 to 192.168.0.2:2010 on eth1
UDP (66 bytes) from 124.135.213.248:6268 to 190.51.60.99:2010 on ppp0
UDP (66 bytes) from 124.135.213.248:6268 to 192.168.0.2:2010 on eth1

Bueno no puedo ubicar las TCP, ya que desde hace un tiempo eMule sobrevive mas por la red KAD que la ed2k..(además el p2p hace que el iptraf vuele) El hecho es que..en forward no uso para nada la iface ppp0 (mucho menos eth0, que vendria a ser "reemplazada" por ppp0) y lo contrario en NAT..uso ppp0 pero no eth1 (supongo que es por ahi donde entra la ip que tengo que natear), y además de eso solo nateo puerto de destino 2010 y 2000, mientras que en iptraf estos puertos también esta como origen ( 1º y 2º linea de iptraf) ¿como es entonces que tengo ID alta?

Y lo que tampoco me doy cuenta y busque en internet es que no tengo que hacer nat de los 0:1024, entonces digo: "Ahh! OK, no tengo que hacer DNAT de estos puertos por que la policy de nat esta en accept" (en las 3 cadenas), Pero si fuera asi tampoco tendría que hacer DNAT de los puertos que uso para el emule. Y si no hago DNAT de dichos puertos emule no conecta. Entonces, ¿por que unos SI y otros NO? Me van a matar lo se; pero tampoco es necesario en NAT permitir en --sport 2000 y 2010, como esta en filter.

Bueno paro aca por que me van a echar de la lista, y los que estan cansados de que escriba siempre de iptables tienen derecho a insultarme y escribir lo que se les ocurra.

Perdon y Gracias.

Atte: "iptables addict" jaj

PD: Esto viene a poder tener ID alta con lo justo y necesario, sin puertos de mas ni de menos; para no tener lo que "justo y trojan horse necesita", como alguien me dijo una vez tratando un hilo similar a este. Lo cual me parece perfecto.


Reply to: