[LUG.ro] IPTABLES

Mariano Drzazga lugro@lugro.org.ar
Tue, 9 Nov 2004 08:51:23 -0300


Omar, 

Sin ver las reglas, me animo a decir que te falta el módulo helper que hace
connection tracking para ftp. 
Si la sesión de FTP que querés establecer es en modo activo, una vez que
autenticó, el servidor tratará de iniciar una conexión desde su puerto 20
hacia un puerto cualquiera (>1024) de la PC donde fue iniciada la conexión
FTP.

Obviamente si no hay algo que esté "manejando" el tema de éstas 2
conexiones, el firewall no va a dejar que se conecten a un puerto cualquiera
desde afuera (y por mas que lo permitiese, debería hacer PORTFORWARDING de
esa conexión entrante hacia la PC cliente). Todo eso, justamente lo hace
este módulo que te digo.

Para cargarlo, va a depender de como tengas configurado las opciones de
NETFILTER en tu kernel. En principio podés probar agregando estas 2 líneas
en tu script de IPTABLES : 

insmod ip_conntrack
insmod ip_conntrack_ftp
insmod ip_nat_ftp

Saludos,

Mariano



> 
> Ahora, me saltó otro problema. Resulta que estóy en 
> mascarando el puerto
> para HTTP, HTTPS y FTP, el inconveniente me surgue cuando se 
> intenta hacer
> una conección FTP a travez de un cliente FTP y no del 
> navegador web. Por lo
> que estuve viendo el cliente se conecta al servidor FTP y 
> envia el usuario y
> la contraseña, pero despues devuelve un error '500 puerto 
> desconocido'. El
> problema lo está generando en las máquinas que están detras 
> del firewall.
> Investigando más veo que una vez que hace la conección los 
> clientes abren un
> puerto distinto al 21, como por ejemplo el 3800. 
> Estas son las reglas de FORWARD que estoy utilizando, como 
> politica DROP,
> permito salir todo desde la red interna a la red externa y 
> permito entrar
> todo los paquetes que pertenecen a una conección existente 
> (STABLISHED,
> RELATED).
> ¿Que me puede estár fallando?
> Gracias.
> 
> Omar