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.