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


8

Toda mi computadora está detrás de un solo enrutador. Tengo un servidor FileZilla ejecutándose en uno de ellos. Estoy tratando de automatizar una carga en el servidor usando un script por lotes y el ftp.exe incorporado de Windows. He configurado un servicio DNS dinámico para poder acceder a mi servidor desde fuera del enrutador y he configurado el reenvío de puertos en el enrutador a mi servidor. Puedo conectar y transferir muy bien usando Google Chrome, el Explorador de Windows y el cliente FileZilla. Sin embargo, cada vez que intento usar ftp.exe (ya sea manualmente o en secuencia de comandos por lotes) puedo conectarme al servidor, pero si intento hacer algo que abra una conexión de datos (LIST, STOR o RETR) me sale el siguiente error: 425 No se puede abrir la conexión de datos. He permitido ftp.exe en los firewalls de ambas computadoras. ¿Alguna idea de lo que está sucediendo o cómo podría solucionarlo? No necesito usar ftp.

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

Respuestas:


5

El FTP activo regular usa una conexión de datos iniciada por el servidor por separado para las transferencias y solo usa la conexión del puerto 21 normal 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 usa como canal de control y de datos.

Parece que el cliente FTP CLI predeterminado de Windows no admite el modo pasivo. Por lo tanto, deberá cambiar a NcFTP . Alternativamente, y creo que probablemente la mejor opción, es usar SFTP en su lugar. FTP es inseguro y realmente solo se debe usar en LAN. SFTP está completamente encriptado y también solo usa un solo canal para datos y comandos. Si necesita un cliente CLI SFTP, PSFTP es una buena opción.


Ya lo he intentado sin suerte
Garrett

@Garrett: Hrmm ... parece que el artículo del blog al que me vinculé está equivocado, y el cliente FTP CLI predeterminado no admite el modo pasivo. En ese caso, tendrá que cambiar los clientes FTP. NcFTP es una opción, y definitivamente es compatible con el modo pasivo.
Lèse majesté

Observé la solicitud / respuesta mientras realizaba la transferencia a través del Explorador de Windows, utilicé la cotización para enviar manualmente los mismos comandos, pero aún recibí el mismo error
Garrett

@Garrett: ¿Pensé que Windows Explorer funcionaba? Si el cliente no admite el modo pasivo, no le importará que le cambie al servidor.
Lèse majesté

¿Es compatible con la línea de comandos, y es un exe independiente?
Garrett


0

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


Eso no es realmente una solución.
ivan_pozdeev
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.