FTP con TLS no funciona, ni puedo cambiar puerto en puro-ftpd

FTP con TLS no funciona, ni puedo cambiar puerto en puro-ftpd

He tenido problemas con mi servidor ftp que he intentado solucionar durante más de una semana.

Mi configuración:

  • Estoy ejecutando Raspbian en una Raspberry Pi.
  • Mi servidor ftp es ftpd puro y lo estoy ejecutando con estos modificadores:

/usr/local/sbin/pure-ftpd -D -C 5 -E -A -H -x -p 35000:36000 -u 0 -y 5:3 -Y 1

  • Lo he compilado con la opción "--with-tls"
  • estoy usandocifrado TLS explícito, (También probé implícito, mismo resultado)
  • He reenviado mi rango de puertos pasivos según lo definido por el modificador -p en pure-ftpd
  • También he reenviado el puerto 20 al 21.

Otros servidores que estoy ejecutando:

  • un servidor samba
  • Un servidor web Apache
  • Servidor de socket Python personalizado
  • y el servidor shh/sftp integrado

También tengo el cliente DUC no-ip ejecutándose

En resumen, estos son los problemas que tengo con pure-ftpd:

  • FTP en LAN sin TLS (Activo y Pasivo): Funcionando
  • FTP en LAN con TLS (Activo y Pasivo): Funcionando
  • FTP en WAN sin TLS (pasivo): funcionando
  • FTP en WAN con TLS (activo y pasivo): no funciona
  • No se puede cambiar el puerto porque no funciona en WAN

Aquí están los registros de errores y las cosas que he probado:

resultados de ftptest.net (para FTP con tls):

........

Comando: PASV

Respuesta: 227 Entrando en modo pasivo (192,168,0,4,138,78)

Error: el servidor devolvió una dirección IP privada no enrutable en la respuesta PASV

He leído en foros que hay que especificar la dirección IP PASV con el modificador -P, así lo hice, y este es el resultado:

Respuesta: 211-Extensiones admitidas:

....................

Error: Se recibió retorno de carro sin avance de línea

Y esto es para¡tanto sin como con tls!Así que sí, ¡el modificador -P no funciona en absoluto!

También debo señalar que los puertos del modo pasivo son correctos (tomado del comando PASV)

Registro de Filezilla (con tls explícito):

Comando: PASV

Respuesta: 227 Entrando en modo pasivo (192,168,0,4,138,251)

Estado: El servidor envió una respuesta pasiva con una dirección no enrutable. Usando la dirección del servidor en su lugar.

Comando: MLSD

Error: No se pudo establecer la conexión de datos: ECONNREFUSED - Conexión rechazada por el servidor

Error: Conexión cerrada por el servidor

Error: no se pudo recuperar el listado del directorio

Con interruptor -P:

Lo mismo excepto que no aparece "El servidor envió una dirección no enrutable*"

También intenté alterar el firewall (iptables), permitiendo todo (por lo tanto, deshabilitando el firewall) con estos comandos:

iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Tampoco puedo cambiar el puerto predeterminado, porque si lo hago, aparece un error de conexión rechazada.

Y tengo otro síntoma extraño que acaba de empezar a aparecer hoy:

Sólo puedo abrir el puerto 21 al 21 (funciona) porque si abro el 20, obtengo el servidor ssh.

Regístrese para eso:

Estado: Conectado, esperando mensaje de bienvenida... Respuesta:

SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2

Error: la respuesta no contiene un código de respuesta válido

También probé el reenvío de puertos 443, 989 a 990 (que era para tls implícitos) e intenté configurar Raspberry Pi como host DMZ.

Nota: Cambié de vsftpd porque era lento y no admitía ftp seguro (el 3.x para Raspberry Pi debe compilarse con soporte para ftp seguro, pero obtuve un error al compilar), y no uso proftpd porque no se pudo compilar con soporte tls

/var/log/messages no proporciona ninguna información útil (solo dice que el usuario inicia sesión cada vez con o sin tls)

¡Ojalá puedan ayudarme porque estoy realmente perdido!

Respuesta1

¡POR FIN ESTÁ SOLUCIONADO!¡Todo lo que tuve que hacer fue cambiar el rango de mi puerto pasivo de 50000-51000 a 12000-13000! Ahora todo funciona genial!!! Ahora estoy usando ftpd puro así:

/usr/local/sbin/pure-ftpd -D -C 5 -E -A -H -x -S 192.168.0.4,60 -p 12000:13000 -u 0 -y 5:3 -Y 1 -P &

información relacionada