KEBRA escribió:
Julián Esteban Perconti escribió:
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.
Bien, antes que nada aseguremonos que sos conciente que 1024:65535
significa "desde el puerto 1024 hasta el puerto 65535".
si soy consiente de ello.
Ahora si puedo preguntarte ¿para qué queres tantos puertos abiertos? .
es lo que requiere el p2p...OK, el puerto de destino es en tu caso el
9185,40385,9188, etc...DESTINO, pero el de origen puede ser cualquiera
entre 1024:65535, por ejemplo: cuando "usamos" el tcp/80 para navegar..,
salimos por un puerto que es aleatorio, entre 1024:65535 (puerto de
origen) y nos reciben (el servidor) por el 80, el que usa el 80 es el
servidor, no nosotros. Lo mismo ocurre con el p2p, pero peor (mas
complejo por lo que llevo con el tema. ).
Que alguien me corrija.
Te pego las reglas que usaba yo antes de tener un script de verdad:
a ver..
## Mulita
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp --dport 9185 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp --dport 40385 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp --dport 9188 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp --dport 9188 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp --dport 4662 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp --dport 4672 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp --dport 4662 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp --dport 4672 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 9185 -j DNAT --to
10.0.0.2:9185
iptables -t nat -A PREROUTING -p tcp --dport 9188 -j DNAT --to
10.0.0.2:9188
iptables -t nat -A PREROUTING -p udp --dport 40385 -j DNAT --to
10.0.0.2:40385
Bueno leyendo un poco tu script, dijiste que "¿para que queres tantos
puertos abiertos ?" , no podes decirme esto, teniendo estas dos reglas:
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p tcp -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -i eth0 -p udp -j ACCEPT
que alguien me corrija, pero yo por estas dos reglas entiendo: "permitir
que entre quienquiera a 10.0.0.2 por eth0, siempre y cuando el protocolo
sea tcp o udp". ahora bien..
las demas reglas que estan arriba de estas dos que elegí, para mi no
tienen sentido.. estas 2 veces diciendo lo mismo y peor. ya que ( a
grandes rasgos) el destino puede ser cualquiera, y los puertos de origen
y destino también.
Ya que como dice el dicho "el que calla otorga" en iptables sucede algo
similar...si no especificas puertos, ifaces o origen destino, etc..
iptables asume que es para todos los puertos, ifaces..etc.
Notá que en ningun punto hay un rango de puertos, solo los necesarios
para mi configuracion:
idem
TCP: 9185
UDP: 40385
Los 46xx eran los pueros por defecto. Podés probar sin ellos.
El puerto 9188 es el resultado de 1985 + 3, que es para KAD.
Echále un vistazo y ajustalo a tus necesidades.
Ok..nos escribimos...
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]