Client OS = Windows 7

ftp clients I've tried: GUI-Based = Filezilla, cuteftp, and coreftp

The command line utility that comes with windows works and has no issues connecting to the FTP server or listing directories.

Issue is not connected to number of files or directories with the failing directory.

Issue happens with both Passive/Active FTP connections.

When listing certain directories, the connection between the client and ftp server time out.

Linux, Unix, Android, and every other operating system besides windows can connect and get all the directory listings from the FTP Server.

On Linux, I have used both command line and GUI-based ftp clients and I see no issues.

The ftp server is vsftpd running on CentOS 6.4.

The ftp server sits behind a zentyal/ubuntu machine used as a firewall to the outside world.

There is a 1-to-1 NAT to port 21 on the firewall pointing to the FTP Server. The firewall uses a virtual IP address to NAT with the FTP server. No address translation happens to the ftp packets, meaning the original source IP address for the clients that connect are not changed while being passing the firewall and going to the internal ftp server.

Connecting internally, the windows client has no issues connecting to the ftp server or listing directories.

I've put Filezilla into debug mode to collect a more verbose log. It seems that the directory listings are showing in the log but are incomplete and timing out before the listing completes.

At this point I am split between calling this a windows bug or a networking issue.

Reason for blaming windows is that it only happens on windows GUI-based clients.

Reason for blaming the network is that it only happens when you come into the ftp server from the outside world. Internal connections from a windows gui-based client work fine.

I've researched and tested this for a solid 2 days. I need another set of fresh eyes to look at this and see what I've been missing so I humbly ask the internet community for help. Thank you for taking part of your time to help me.

  • However, how much files are in that folders on which ftp clients fail? And are there some "crashy" names on those folders? – Jet May 13 '14 at 21:24
  • There are about 800 directories in one of the directories that does not list. I agree that a folder with 16k files and directories will crash or not completely list. However, I have tested other directories with the same or more files and directories within and they work fine. The directory in question has 800 sub directories and they are all named from L00000 to L00800. The FTP clients that fail are Filezilla, CuteFTP, coreFTP. All of them from the windows GUI. Filezilla for Linux works just fine. – ccreamer May 14 '14 at 13:13
  • Hmm interesting. Feels like its a bug. Can you create another folder and add there a lot of files/folders (by using For in command line/batch file) and test that folder? – Jet May 15 '14 at 13:18
  • 1
    I did as you suggested and the new directory worked. However I have another problem now. The server "just" started working correctly on it's own and I can no longer reproduce the problem. I hate that because when things "just" start working on their own they tend to stop working again. It might possibly be my hosting company's firewall that could be mishandling packets somehow and they fixed the issue without notification. smh Thank you for your efforts. I will comment on this issue if it comes back to kick me between the legs again. – ccreamer May 15 '14 at 15:00
  • Update. This is only working for my windows computer. Any other computer, even after installing all updates, still does not work for some reason. I believe it's purely a windows issue now since nothing else is affected. – ccreamer May 21 '14 at 12:57

I did more research and there was packet fragmentation happening on my firewall for any packet larger than 512 MTU.

No matter what setting I put the MTU at on the firewall, 512 was the max that I could get through without Fragmentation.

Upgrading the firewall firmware solved the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.