ProFTPd funciona... solo con el iexplorer :(

Wenas!
Tengo un ordenador con linux 2.4, debian y el proftpd. Inexplicablemente sólo me va bien con el explorer. Me explico: cuando p.e. en un navegador pongo la direccion ftp ://url_que_toca tanto en el Opera, como en el Konqueror como en el Ieplorer me pide nick/password.
Los pongo y hasta aquí todo correcto.

Pero al ponerlos y esperar, en el Opera sólo me sale una ventana con el nombre del sitio (que es un enlace al ftp), y en el Konqueror se queda la ventana en blanco. En cambio, si que va bien con el M$explorer. Y funciona perfectamente (leer/escribir).

Curiósamente con programas de FTP no se conecta.

Algo debo tener mal configurado, pero no sé que es :(
Trato de tener acceso con el usuario "servidor", por tanto no hay acceso anonimo. La carpeta de FTP es esta: /mnt/hda6/web/www

Así que os paso mi configuración, a ver si veis algo raro raro raro:

ServerName "FTP server" #nombre del servidor ftp
ServerType standalone #se lanza como demonio
DeferWelcome on #mostrar sms de entrada
MultilineRFC2228 on #on para mas compatibilidad
DefaultServer on #on para opciones comunes de ftp
ShowSymlinks on #on para ver enlaces simbolicos
AllowOverwrite off #on para sobreescribir por defecto
TimeoutNoTransfer 600 #seg max sin transferencias antes de tirar a un cliente
TimeoutStalled 600 #idem en estado atascado
TimeoutIdle 1200 #idem sin hacer nada

DisplayLogin welcome.msg #
DisplayFirstChdir .message #
ListOptions "-l" #

DenyFilter \*.*/ #filtro de proteccion

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off

# Uncomment this if you would use TLS module:
#TLSEngine on

# Uncomment this if you would use quota module:
#Quotas on

# Uncomment this if you would use ratio module:
#Ratios on

# Port 21 is the standard FTP port.
Port 21

MaxInstances 30

# Set the user and group that the server normally runs at.
User servidor
Group servidor

#con esto hacemos que no se vean los directorios por debajo
DefaultRoot /mnt/hda6/web/www

#directorio de ftp!!

Umask 755 755
AllowOverwrite on




Un saludo!
yo tambien tengo debian, linux 2.4 y ProFTPD y no tengo ese problema que comentas ;)

Te cuento, he estado mirando tu /etc/proftpd.conf y los nuestros son muy muy parecidos, excepto en que yo no resuelvo las ReverseDNS (es un detalle gilipollesco). Para ello pon debajo del "DenyFilter" un "UseReverseDNS off", que hará que vaya más rápido ya que no trata de averiguar el nombre de la máquina que hace uso del ftp.

Yo creo que la cosa va a estar en que en el router solo vas a tener mapeado el puerto 21, o si usas firewall solo vas a tener abierto el puerto 21 (o ambos si usas router y firewall). Mapea y abre tambien el puerto 20.

Mira el fichero /etc/services si no me crees ;)


ftp-data 20/tcp
ftp 21/tcp


El problema está en que a través del puerto 21 haces ftp en el unico sentido de validarte, mientras que usa el puerto 20 para enviar datos (entre ellos, la lista de ficheros ;))

Espero que se te haya solucionado el problema. Si tienes más dudas postea.

Un saludo [bye]


EDITO: si, es inexplicable porqué solo puede acceder el explorer. Yo para mi que no hacen mucho caso de los estandares ni de las RFC (y eso que el protocolo ftp tiene ya sus añitos XD)
Probablemente se deba al modo de transmisión ftp que tengan los navegadores por defecto y cómo tengas configurado el router/firewall.

Para soportar el modo Activo no es necesario abrir más que el 21, puesto que aunque se usa el 20, es el servidor el que inicia la conexión y no es necesario abrirlo.

Para soportar el modo Pasivo las cosas cambian, ya que en principio el servidor puede recibir conexiones de datos en cualquier puerto y tendrías que mapear todos. Para eso está la directiva "PassivePorts", donde puedes especificar un rango de puertos a usar en modo pasivo y así abrir sólo ese rango.

Saludos :)


PD: Raulex, prueba a cerrar el 20, verás como sigue funcionando (espero [tomaaa] XD).
Hombre , aprovehco para postear un error que me da al arranvcarlo.


[root@dhcp-1588-121 xxxx]# proftpd
- getaddrinfo 'dhcp-1588-121' error: Name or service not known
- error: unable to determine IP address of 'dhcp-1588-121'
- error: no valid servers configured
- Fatal: error processing configuration file '/etc/proftpd.conf'


Creo que eso del getaddrinfo no lo tengo instalado. HAce falta?
Kedao escribió:PD: Raulex, prueba a cerrar el 20, verás como sigue funcionando (espero [tomaaa] XD).

Buena explicación, y me has convencido (aunque no lo he cerrado XD)

Yo mismo tuve hace ya varios meses el mismo problema que Bleim y no supe solucionarlo. Ya con el tiempo y de casualidad me enteré de lo del puerto 20 y es lo que uso y me va de PM [oki], pero si, de fijo que se puede apañar como dices.

escufi, a ver tu problema deduje que era debido a que no puede crear el socket y, por lo tanto, no puede lanzar el servidor. El socket es una combinación de IP + puerto. El puerto lo tienes, lo que no te coge bien es la IP.

He hecho un truquillo que me enseñó /\/et\/icious hace ya el año la tanana que consiste en pegar el error que te da en el google, y he llegado hasta aquí:

http://www.proftpd.org/docs/faq/proftpdfaq-4.html#ss4.5


No obstante te pego la googleada:

http://www.google.com/search?q=error%3A+unable+to+determine+IP+address+proftpd&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8


EDITO: Escufi, mira casi al final de este vinculo:
http://www.aerospacesoftware.com/proftpd.html

Un saludo a todos y que arregleis vuestros problemas con los efetepeses
Tengo los puertos 20 y 21 abiertos y he hecho lo que me dijísteis. Pero no funciona :-(

Algún médico en la sala?
¿Has tirado abajo el servidor y lo has vuelto a levantar en caso de haber hecho algún cambio sobre el /etc/proftpd.conf?

EDITO Si usas router ... ¿lo has reiniciado?, ¿estas seguro de que ha mapeado los puertos?

PD: a ver si alguna vez de estas soy capaz de hacer un post sin editarlo despues XD
RaUleX escribió:EDITO: Escufi, mira casi al final de este vinculo:
http://www.aerospacesoftware.com/proftpd.html


You Found the trick [oki]
Prueba en /etc/proftd.conf

MultilineRFC2228 on/off #Usaremos on, ya que esto hara que nuestro servidor ftp sea compatible con casi todos los clientes ftp
HaDeSh escribió:Prueba en /etc/proftd.conf

MultilineRFC2228 on/off #Usaremos on, ya que esto hara que nuestro servidor ftp sea compatible con casi todos los clientes ftp

Ya lo tiene en ON XD
Gracias por contestar, pero no hay manera. Ya tenía el puerto 21 abierto, pero lo he intentado abriendo también el 20 (aunque como se ha explicado no hace falta, pero todos sabemos que basta hacer algo ilógico para que un pc funciones cara al aire), sin resultados.

Hummmmm, rayos [mamaaaaa]

Es que no me explico qué falla!!
Prueba a conectar con un cliente ftp como gFTP, FlashXP, smartFTP o el propio comando 'ftp' de linux y muéstranos el log.

Un saludo
De GFTP:

gFTP 2.0.17
Conectado a loquesea.sytes.net:21
220 ProFTPD 1.2.9 Server (FTP server)
USER servidor
331 Password required for servidor.
PASS xxxxxxxxxx
230 User servidor logged in.
SYST
215 UNIX Type: L8
TYPE I
200 Type set to I
PWD
257 "/" is current directory.
PASV
227 Entering Passive Mode (192,168,123,198,128,9).
LIST -aL
PASV


Y aqui se queda pillao. Arriba a la derecha pone: recibiendo nombres...
Al rato:

Error: No se puede leer desde socket: Conexión reinicializada por la máquina remota
Desconectando del sitio

-------------------------------------
Desde una consola:

$ ftp loquesea.sytes.net
Connected to loquesea.sytes.net.
220 ProFTPD 1.2.9 Server (FTP server)
Name (loquesea.sytes.net:loquesea): servidor
331 Password required for servidor.
Password: xxxxxxxxx
230 User servidor logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rw-r--r-- 1 servidor servidor 7543 May 12 23:06 loquesea.htm
---mis archivos----

Desde la consola sí que se ve!!!!
En el primer caso no te va porque la transmisión está en modo Pasivo y el servidor está esperando conexiones en el puerto 32777 (128x256 +9). Supongo que el firewall/router que está delante del servidor bloquea conexiones en ese puerto.

En el segundo caso estás en modo Activo y supongo que tu firewall/router no bloquea estas conexiones de datos hacia tu ordenador.

Saludos :)
Eso parece tener sentido pero, ¿qué hago?

[comor?]
Para empezar, describir cómo y dónde tienes los equipos (cliente, servidor, router, firewall, etc), porque ya no sé si los tienes en casa, si el servidor está en otro sitio, etc. :)
Tengo un par de equipos. Uno es el servidor y el otro es 'el otro' :P

Ambos están conectados a Inet por un router. Este tiene redirigidos los puertos 80, 20 y 21 al servidor (ya que es servidor web y trata de ser tambien servidor ftp). El router es el usrobotics que vende app por 70 euracos o asi.

(esto es casi ya un chat :D )
¿has hecho las pruebas con el mismo ordenador?, ¿contra localhost?, ¿contra un PC en LAN?, ¿a traves de internet?

Si las pruebas las has hecho con diferentes ordenadores dinos como ha conectado cada uno en cada prueba, lo digo porque el 1º tiene pinta de ser por LAN y el 2º contra localhost.

Un saludo
acabo de desmarcar la casilla de 'transferencias pasivas' del gftp y SI que funciona.

Todas las pruebas son desde 'el otro' al servidor peeero no directamente. Es decir, yo tengo un dominio redirigido al servidor mediante noip (ya que tengo ip dinamica y no puedo hacerlo directamente a mis equipos, por si cambian la ip).
Noip es www.noip.com, para quien no lo sepa te facilitan un dominio a través del cual puedes tener tu servidor con IP dinamica (te facilitan un programa que actualiza tu ip cada cierto tiempo en sus servers). Es decir:

midominio.com -> dominionoip.sytes.net -> mi servidor

No obstante puede que sea algo de esto pero claro, entonces el explorer no deberia ir... no se
Me piro a la cama que mañana curro! A ver si lo sacamos que está a punto de caramelo!

Gracias y hasta mñn!
Para que te funcione en modo pasivo, utiliza la directiva "PassivePorts" del proftp y mapea esos puertos en el router.

El FTP es una jodienda con los routers/firewalls :(
He añadido PassivePorts 60000 65535 y reiniciado.
Tambien los he mapeado en el router.
Pero sigue sin ir. ¿Any ideas?
Haz FTP pasivo y activo desde el propio servidor usando la IP 127.0.0.1, a ver si va a ser cosa del router y nos estamos tirando de los pelos.

He podido leer por ahí que hay routers que no permiten el paso de FTP pasivo, quizá el tuyo sea uno de ellos.

Un saludo
Desde el servidor funciona perfecto tanto ftp pasivo como activo. Vaya mierda!

Voy a mirar las opciones del router, pero no lo tengo nada claro :(

En fin, gracias por la ayuda!! :D
22 respuestas