FTP "425 No se puede abrir la conexión de datos" solo ocurre cuando se usa el símbolo del sistema

FTP "425 No se puede abrir la conexión de datos" solo ocurre cuando se usa el símbolo del sistema

Todas mis computadoras están detrás de un solo enrutador. Tengo un servidor FileZilla ejecutándose en uno de ellos.

Estoy intentando automatizar una carga al servidor usando un script por lotes y el ftp.exe integrado de Windows. Configuré un servicio DNS dinámico para poder acceder a mi servidor desde fuera del enrutador y configuré el reenvío de puertos en el enrutador a mi servidor. Puedo conectarme y transferir sin problemas usando Google Chrome, Windows Explorer y el cliente FileZilla.

Sin embargo, cada vez que intento usar ftp.exe (ya sea manualmente o en un script por lotes), puedo conectarme al servidor, pero si intento hacer algo que abra una conexión de datos ( LIST, STORo RETR), aparece el siguiente error:425 Can't open data connection.

He permitido ftp.exe en los firewalls de ambas computadoras. ¿Alguna idea de lo que está pasando o cómo podría solucionarlo? No necesito usar ftp.exe si alguien conoce un cliente de línea de comando portátil independiente (solo un exe sin otros archivos).

EDITARSé que mi ISP bloquea muchos puertos, incluido el 21 y varios más en ese rango. Todo esto está configurado en el puerto 2121, con los puertos pasivos configurados en 2122-2142, todos estos han sido reenviados en el enrutador.
¿Quizás ftp.exe solo use un determinado puerto para la conexión de datos, que mi ISP bloqueó? Si es así, ¿cómo cambiaría esto?

Respuesta1

El FTP activo normal utiliza una conexión de datos separada iniciada por el servidor para las transferencias y solo utiliza la conexión normal del puerto 21 como canal de control. Sin embargo, cuando el cliente está detrás de un firewall, es probable que el firewall bloquee esta conexión. Supongo que Chrome, Explorer, FireZilla, etc. son lo suficientemente inteligentes como para probar el modo pasivo, en el que la conexión original iniciada por el cliente se utiliza como canal de control y de datos.

Parece que el cliente FTP CLI predeterminado de Windows no admite el modo pasivo. Entonces tendrás que cambiar aNCFTP. Alternativamente, y creo que probablemente la mejor opción, es simplemente usar SFTP. FTP es inseguro y en realidad sólo debe usarse en LAN. SFTP está completamente cifrado y solo utiliza un único canal para datos y comandos. Si necesita un cliente CLI SFTP,PSFTPes una buena opción.

Respuesta2

Yo tuve este problema también. La solución fue detener el firewall del antivirus (en mi caso el McAfee), bloqueaba los puertos de FTP.

Respuesta3

La CLI FTP de Windows admite el modo PASIVO. Utilice "quote pasv" para ingresar al modo pasivo.

información relacionada