Клиентская ОС = Windows 7
FTP-клиенты, которые я пробовал: GUI-based = Filezilla, cuteftp и coreftp
Утилита командной строки, поставляемая с Windows, работает и не имеет проблем с подключением к FTP-серверу или списком каталогов.
Проблема не связана с количеством файлов или каталогов с ошибочным каталогом.
Проблема возникает с обоими пассивными / активными FTP-соединениями.
При перечислении определенных каталогов время соединения между клиентом и сервером ftp истекает.
Linux, Unix, Android и любая другая операционная система, кроме Windows, могут подключаться и получать все списки каталогов с FTP-сервера.
В Linux я использовал ftp-клиенты как из командной строки, так и из GUI и не вижу проблем.
Ftp-сервер vsftpd работает на CentOS 6.4.
Сервер ftp находится за машиной zentyal/ubuntu, используемой в качестве брандмауэра для внешнего мира.
На брандмауэре имеется NAT-1-к-NAT на порт 21, указывающий на FTP-сервер. Брандмауэр использует виртуальный IP-адрес для NAT с FTP-сервером. Преобразование адресов не происходит с пакетами ftp, то есть исходный IP-адрес источника для клиентов, которые подключаются, не изменяется при прохождении через брандмауэр и при переходе на внутренний сервер ftp.
При внутреннем подключении у клиента Windows нет проблем с подключением к FTP-серверу или каталогами списков.
Я перевел Filezilla в режим отладки, чтобы собрать более подробный журнал. Кажется, что списки каталогов отображаются в журнале, но они неполные и истекают до завершения листинга.
На данный момент я разделен между тем, чтобы назвать это ошибкой Windows или проблемой сети.
Причиной обвинения Windows является то, что это происходит только на клиентах на базе Windows GUI.
Причиной обвинения в сети является то, что это происходит только тогда, когда вы заходите на FTP-сервер из внешнего мира. Внутренние соединения от Windows-клиента на основе графического интерфейса работают нормально.
Я исследовал и проверил это в течение 2 дней. Мне нужно еще несколько свежих глаз, чтобы посмотреть на это и увидеть, чего мне не хватало, поэтому я смиренно прошу интернет-сообщество о помощи. Спасибо, что уделили мне время, чтобы помочь мне.