falla conexión ftp pasivo en Internet punto a punto

Iniciado por 3fr@in, 12 Noviembre 2019, 06:38 AM

0 Miembros y 1 Visitante están viendo este tema.

3fr@in

 :rolleyes: Hola buenas noches/dias/tardes. Vengo a este foro porque no he podido establecer una conexión ftp con filezilla client (También intenté con winSCP). Y en el trabajo es el pan de cada día utilizar ftp para subir archivos. :-(

El contexto es el siguiente. Recientemente contraté internet con un proveedor de antenas punto a punto, ya que donde vivo no hay servicio de Telmex o algún otro parecido, así que esta es mi única alternativa. el proveedor que me ofrece internet tiene internet de Telmex pero se encarga de repartirla a través de antenas a diferentes lugares. Mi conocimiento en redes es casi nulo, así que no se del todo bien que métodos utiliza para realizar este proceso.

He estado leyendo mucho sobre ftp estos últimos días y por lo que he leído, todo me lleva a que el modo pasivo es el adecuado, pero aun así no he logrado. En algunas ocasiones puedo listar el primer directorio, pero es muy extraño que pase. El 99% de las veces no puedo ni listar los directorios. Desde otros lugares si puedo conectarme con el modo pasivo, pero con la misma configuración no lo puedo hacer desde casa.
Aquí esta un ejemplo del debug del filezilla cuando por algún milagro si logra listar el primer directorio.


Código (apache) [Seleccionar]
Comando: PASS ************************************************************
Traza: CFtpControlSocket::OnReceive()
Respuesta: 230 User logged in.
Traza: CFtpLogonOpData::ParseResponse() in state 6
Traza: CControlSocket::SendNextCommand()
Traza: CFtpLogonOpData::Send() in state 10
Comando: OPTS UTF8 ON
Traza: CFtpControlSocket::OnReceive()
Respuesta: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
Traza: CFtpLogonOpData::ParseResponse() in state 10
Estado: Registrado en
Traza: Measured latency of 338 ms
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpLogonOpData::Reset(0) in state 15
Traza: CFileZillaEnginePrivate::ResetOperation(0)
Estado: Recuperando el listado del directorio "/"...
Traza: CControlSocket::SendNextCommand()
Traza: CFtpListOpData::Send() in state 0
Traza: CFtpChangeDirOpData::Send() in state 0
Traza: CFtpChangeDirOpData::Send() in state 2
Comando: CWD /
Traza: CFtpControlSocket::OnReceive()
Respuesta: 250 CWD command successful.
Traza: CFtpChangeDirOpData::ParseResponse() in state 2
Traza: CControlSocket::SendNextCommand()
Traza: CFtpChangeDirOpData::Send() in state 3
Comando: PWD
Traza: CFtpControlSocket::OnReceive()
Respuesta: 257 "/" is current directory.
Traza: CFtpChangeDirOpData::ParseResponse() in state 3
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpChangeDirOpData::Reset(0) in state 3
Traza: CFtpListOpData::SubcommandResult(0) in state 1
Traza: CControlSocket::SendNextCommand()
Traza: CFtpListOpData::Send() in state 2
Traza: CFtpRawTransferOpData::Send() in state 1
Comando: TYPE I
Traza: CFtpControlSocket::OnReceive()
Respuesta: 200 Type set to I.
Traza: CFtpRawTransferOpData::ParseResponse() in state 1
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 2
Comando: PASV
Traza: CFtpControlSocket::OnReceive()
Respuesta: 227 Entering Passive Mode ([IP del servidor],39,242).
Traza: CFtpRawTransferOpData::ParseResponse() in state 2
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 4
Traza: Binding data connection source IP to control connection source IP [Mi IP Privada]
Comando: LIST
Traza: CTransferSocket::OnConnect
Traza: CFtpControlSocket::OnReceive()
Respuesta: 150 Opening BINARY mode data connection.
Traza: CFtpRawTransferOpData::ParseResponse() in state 4
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 5
Traza: CTransferSocket::OnReceive(), m_transferMode=0
Traza: CTransferSocket::TransferEnd(1)
Traza: CFtpControlSocket::TransferEnd()
Traza: CFtpControlSocket::OnReceive()
Respuesta: 226 Transfer complete.
Traza: CFtpRawTransferOpData::ParseResponse() in state 7
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpRawTransferOpData::Reset(0) in state 7
Traza: CFtpListOpData::SubcommandResult(0) in state 3
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpListOpData::Reset(0) in state 3
Estado: Directorio "/" listado correctamente
Traza: CFileZillaEnginePrivate::ResetOperation(0)



Pero como había dicho esto es lo que veo a menudo (si el anterior tuvo éxito e intento abrir una carpeta)
Código (apache) [Seleccionar]
Comando: PASS ************************************************************
Traza: CFtpControlSocket::OnReceive()
Respuesta: 230 User logged in.
Traza: CFtpLogonOpData::ParseResponse() in state 6
Traza: CControlSocket::SendNextCommand()
Traza: CFtpLogonOpData::Send() in state 10
Comando: OPTS UTF8 ON
Traza: CFtpControlSocket::OnReceive()
Respuesta: 200 OPTS UTF8 command successful - UTF8 encoding now ON.
Traza: CFtpLogonOpData::ParseResponse() in state 10
Estado: Registrado en
Traza: Measured latency of 564 ms
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpLogonOpData::Reset(0) in state 15
Traza: CFileZillaEnginePrivate::ResetOperation(0)
Estado: Recuperando el listado del directorio "/site"...
Traza: CControlSocket::SendNextCommand()
Traza: CFtpListOpData::Send() in state 0
Traza: CFtpChangeDirOpData::Send() in state 0
Traza: CFtpChangeDirOpData::Send() in state 2
Comando: CWD /
Traza: CFtpControlSocket::OnReceive()
Respuesta: 250 CWD command successful.
Traza: CFtpChangeDirOpData::ParseResponse() in state 2
Traza: CControlSocket::SendNextCommand()
Traza: CFtpChangeDirOpData::Send() in state 4
Comando: CWD site
Traza: CFtpControlSocket::OnReceive()
Respuesta: 250 CWD command successful.
Traza: CFtpChangeDirOpData::ParseResponse() in state 4
Traza: CControlSocket::SendNextCommand()
Traza: CFtpChangeDirOpData::Send() in state 5
Comando: PWD
Traza: CFtpControlSocket::OnReceive()
Respuesta: 257 "/site" is current directory.
Traza: CFtpChangeDirOpData::ParseResponse() in state 5
Traza: CFtpControlSocket::ResetOperation(0)
Traza: CControlSocket::ResetOperation(0)
Traza: CFtpChangeDirOpData::Reset(0) in state 5
Traza: CFtpListOpData::SubcommandResult(0) in state 1
Traza: CControlSocket::SendNextCommand()
Traza: CFtpListOpData::Send() in state 2
Traza: CFtpRawTransferOpData::Send() in state 1
Comando: TYPE I
Traza: CFtpControlSocket::OnReceive()
Respuesta: 200 Type set to I.
Traza: CFtpRawTransferOpData::ParseResponse() in state 1
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 2
Comando: PASV
Traza: CFtpControlSocket::OnReceive()
Respuesta: 227 Entering Passive Mode ([IP del Servidor],40,11).
Traza: CFtpRawTransferOpData::ParseResponse() in state 2
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 4
Traza: Binding data connection source IP to control connection source IP [Mi IP privada]
Comando: LIST
Traza: CFtpControlSocket::OnReceive()
Respuesta: 150 Opening BINARY mode data connection.
Traza: CFtpRawTransferOpData::ParseResponse() in state 4
Traza: CControlSocket::SendNextCommand()
Traza: CFtpRawTransferOpData::Send() in state 5
Error: No se pudo establecer la conexión de datos: ETIMEDOUT - El intento de conexión superó el tiempo de espera
Traza: CTransferSocket::TransferEnd(3)
Traza: CFtpControlSocket::TransferEnd()
Traza: CFtpControlSocket::OnReceive()
Respuesta: 550 Data channel timed out.
Traza: CFtpRawTransferOpData::ParseResponse() in state 7
Traza: CFtpControlSocket::ResetOperation(2)
Traza: CControlSocket::ResetOperation(2)
Traza: CFtpRawTransferOpData::Reset(2) in state 7
Traza: CFtpListOpData::SubcommandResult(2) in state 3
Traza: CFtpControlSocket::ResetOperation(2)
Traza: CControlSocket::ResetOperation(2)
Traza: CFtpListOpData::Reset(2) in state 3
Error: Error al recuperar el listado del directorio
Traza: CFileZillaEnginePrivate::ResetOperation(2)


Por lo que leí decía que los routers o firewalls no generan mucho conflicto con el modo pasivo porque las conexiones son salientes (pero si pienso que puede ser algo relacionado con la infraestructura de red en la que estoy conectado).

Entonces la pregunta es si pudiera existir alguna configuración que pueda estar bloqueando mi conexión ftp, aunque sea de forma pasiva.
Como un dato más y que no se si tenga relación con esto, pero por si acaso. He notado que mi dirección IP publica cambia de una forma muy abrupta cada 5 minutos o menos y está variando entre 4 o 5 que se están rolando entre sí. (Esto es algo más que también me gustaría saber si hay posible solución para que no cambie tan rápido, porque tengo acceso a algunos servicios por medio de IP publica). Entonces entre las lecturas realizadas le encontré mucho parecido con NAT o algo así que se encarga de convertir mi IP privada en Publica.

Por favor si saben que se podría mover en configuración para lograr esta conexión estable lo agradecería bastante, o algunas lecturas fáciles de digerir para entender mejor. mi idea es tener posibles soluciones para planteárselas a mi proveedor y no quedarme con un rotundo "No se puede"
Si necesitan mas detalles por favor díganme e intentaré ser mas detallado