emule + nat + iptables

Miguel Oyarzo O. admin en aim.cl
Mar Oct 18 09:11:25 CLST 2005


At 22:46 17-10-2005, Alvaro Parra Urbina wrote:
>hola lista tengo un problema
>tengo una red pequeña la cual tiene como puerta de enlace a un tarro kon
>debian en el cual fueron configurados para hacer nat hacia las otras
>makinas. Bueno esto funciona de maravilla .
>el punto es ke uno de los usuarios desea utilisar emule pero no le da
>respuesta de los puertos.
>
>el tarro conectado a internet posee dos conecciones eth..
>adjunto el textio del nat.
>
>*****************************
> >
> > #habilitar el ip_forward
> > echo 1 > /proc/sys/net/ipv4/ip_forward
> > #enmascarar red
> > iptables -t nat -A POSTROUTING -o eth1 -p tcp -j MASQUERADE
> > iptables -t nat -A POSTROUTING -o eth1 -p udp -j MASQUERADE
> >
>*********************
>  a la red se sale por eth1 y la red interna sale por eth0


Aun que no tiene q ver con la pregunta, no es necesario colocar las 2 
lineas de arriba.
Por lo general con una es suficiente.

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to $IP_DE_TU_INTERFAZ_PUBLICA

Respecto del EMULE:

Muy mala idea, pero si lo necesitas debes entender mas como trabaja ese 
programa:

Si el Cliente Emule solo atravisas tu NAT asi como lo tienes ahora entonces 
dicho cliente
obtendrá una ID baja, pero igual podras bajar archivos.  Esto se explica en 
google (para que dar detalles aqui).

Si el usuario del Emule te reclama por que quiere una ID alta, entonces debes
(i) asignarle puertos especificos  a ese emule (revisa sus opciones de 
conexion),
(ii) realizar PREROUTING desde tu linux y
(iii)  reenviar los paquetes desde Linux al puerto del PC.

Ej:
iptables -A PREROUTING -t nat -p tcp -d  $IPPUB --dport 50362 -j DNAT 
--to-dest  IP_CLINTE_EMULE

Esto permitira a la mula usar una la IP publica de tu Linux y un puerto de 
reversa
para el ID alto.
Con ello te llenaras de trafico basuroso de subida y bajada, pero tu 
usuario (o jefe)  estara feliz.



Espero que te sirva

Saludos,

Miguel Oyarzo O,
Austro Internet S.A.
PUnta Arenas


























Más información sobre la lista de distribución Linux