1

I am using pyftpdlib as a python ftp server and filezilla as a client: some of my colleagues can't upload any files while I have absolutely no issues.

I checked filezilla debug logs and found one weird behavior I don't understand

Command:    PASV
Trace:  CFtpControlSocket::OnReceive()
Response:   227 Entering passive mode (185,125,25,44,207,87).
Trace:  CFtpRawTransferOpData::ParseResponse() in state 2
Trace:  CControlSocket::SendNextCommand()
Trace:  CFtpRawTransferOpData::Send() in state 4
Trace:  Binding data connection source IP to control connection source IP 10.8.8.15

10.8.8.15 is my vpn address: is it normal I get my vpn ip in this part of the logs ?

stranger, when a colleague can't upload to the ftp, he gets

Command:    PASV
Trace:  CFtpControlSocket::OnReceive()
Response:   227 Entering passive mode (185,125,25,44,207,87).
Trace:  CFtpRawTransferOpData::ParseResponse() in state 2
Trace:  CControlSocket::SendNextCommand()
Trace:  CFtpRawTransferOpData::Send() in state 4
Trace:  Binding data connection source IP to control connection source IP 127.0.0.1

It seems weird to me that filezilla binds data connection to 127.0.0.1 and this I think it explains why upload fails.

How comes this behavior occurs ?

Furthermore: I don't understand from where the problem comes from: is it a client/server/network issue ?

FYI: the only config directives I edited on pyftpdlib are :

permit_foreign_addresses: True
use_sendfile: False
ac_in_buffer_size: 1000000
ac_out_buffer_size: 500000

EDIT: When using WinSCP, the behavior seems more consistent

. 2021-06-11 09:02:52.363 Début de l'envoi de C:\Users\pouet\Downloads\181015_13_Venice Beach Drone_11.mp4
> 2021-06-11 09:02:52.363 TYPE I
< 2021-06-11 09:02:52.377 200 Type set to: Binary.
> 2021-06-11 09:02:52.377 PASV
< 2021-06-11 09:02:52.393 227 Entering passive mode (185,125,25,44,250,39).
> 2021-06-11 09:02:52.393 STOR 181015_13_Venice Beach Drone_11.mp4
. 2021-06-11 09:02:52.393 Connexion à 185.125.25.44:64039...
. 2021-06-11 09:02:52.408 Data connection opened
< 2021-06-11 09:02:52.408 150 File status okay. About to open data connection.

you can see that the client tries to connect to the right ip/port, when filezilla behaves a little different (connects to my network iface ??)

Commande :  TYPE I
Suivi : CFtpControlSocket::OnReceive()
Réponse :   200 Type set to: Binary.
Suivi : CFtpRawTransferOpData::ParseResponse() in state 1
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 2
Commande :  PASV
Suivi : CFtpControlSocket::OnReceive()
Réponse :   227 Entering passive mode (185,125,25,44,211,253).
Suivi : CFtpRawTransferOpData::ParseResponse() in state 2
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 4
Suivi : Binding data connection source IP to control connection source IP 192.168.1.66
Commande :  STOR 181015_13_Venice Beach Drone_11.mp4
Suivi : CTransferSocket::OnConnect
Suivi : First EAGAIN in CTransferSocket::OnSend()
Suivi : CFtpControlSocket::OnReceive()
Réponse :   150 File status okay. About to open data connection.
Suivi : CFtpRawTransferOpData::ParseResponse() in state 4
Suivi : CControlSocket::SendNextCommand()
Suivi : CFtpRawTransferOpData::Send() in state 5
Suivi : Made progress in CTransferSocket::OnSend()

EDIT2:

Logs attached :

working upload

failed upload 1

failed upload 2

8
  • It's probably a client issue. That being said, you mention a VPN. Can you describe the route to the FTP server? Is your colleague's route the same? Are they perhaps trying to use SSH port forwarding with FTP instead of your VPN?
    – Daniel B
    Commented Jun 11, 2021 at 6:38
  • My VPN was ON but I finally think that's unrelevant, as the ftp server is public. I'm editing me question with some other client debug logs
    – kitensei
    Commented Jun 11, 2021 at 7:15
  • You say the colleague has problem, yet your post says nothing about the problem. You focus on something that might, but also might not, be related to the problem. But we need to see the problem itself. + Also you seem to mistake the source and the destination IP addresses. The destination address (185.125.25.44) is same for both WinSCP and FileZilla. WinSCP does not log the source address. Commented Jun 11, 2021 at 7:33
  • @MartinPrikryl you are right sorry, I digged a lot and thought that was the issue, but I may be completely wrong: I've attached 3 gists showing one successful transfer, and two failures. When failing it is so weird: filezilla uploads at an insane speed (like 900mb/s) but nothing appears on the ftp later, so I'm assuming upload has been made locally ?
    – kitensei
    Commented Jun 11, 2021 at 8:09
  • not really a network admin, so infrastructure is not 100% clear to me but here's my 2 cents : me and my colleagues are working remotely, connected to the VPN, the ftp address is a public domain name which resolves on a kubernetes cluster pod with hostNetwork. No firewall, no specific network ACLs, k8 cluster is not public accessible
    – kitensei
    Commented Jun 11, 2021 at 8:48

0

You must log in to answer this question.

Browse other questions tagged .