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

iptables y ftp



Hola:

Tengo un problema al que le he dado vueltas y vueltas y no he logrado
nada. Veamos, tengo un servidor FTP detrás de un firewall iptables. El
caso es que quiero que desde Internet puedan acceder a mi FTP. Para
ello hago lo siguiente en el firewall:

#Redireccionamiento IP
echo 1 > /proc/sys/net/ipv4/ip_forward

#Damos salida a internet a toda la LAN
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Flush de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Politica por defecto: aceptar todo
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#Establecemos las redirecciones por puerto hacia la web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to
192.168.1.10:80

#Establecemos las redirecciones por puerto hacia el FTP
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to
192.168.1.10:21
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20 -j DNAT --to
192.168.1.10:20
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1024:65535 -j
DNAT --to 192.168.1.10

Y eso es todo.
Suponemos que mi servidor FTP y web están en la misma máquina con la
IP 192.168.1.10. La redirección al puerto 80 funciona perfecto, pero
falla el FTP. La ultima regla no sé si es correcta. Mi razonamiento es
el siguiente: yo quiero que se pueda hacer FTP en modo pasivo, por lo
tanto, el servidor abre una conexión en un puerto igual o superior al
1024 y queda a la espera de que el cliente conecte a ese puerto.
Supongamos que para la transmisión de un archivo se abre la conexión
en el puerto 25000, pues todo lo que le llegue al firewall del
exterior con puerto destino 25000 debe redireccionarlo hacia
192.168.1.10:25000. Creo que eso es lo que hace la ultima regla.
Corrijanme si me equivoco.
Ahora, el problema es que, aunque consigo conectar al FTP y loguearme
desde Internet, cuando hago "ls" me dice "Cannot open data
connection". O sea que no puedo ni listar ni transmitir ni nada de
nada.
Ya sé que la politica por defecto de aceptarlo todo es arriesgada,
pero lo hice para descartar posibles problemas.
Alguien puede ayudarme? esto es realmente desesperante.
Gracias.

Saludos cordiales,
David Soler
"El conocimiento te hará libre"



Reply to: