Назад | Перейти на главную страницу

Пассивный режим для FileZilla FTP не работает

У нас есть FileZilla server 0.9.37, работающий на Windows server 2008 R2

Активный режим работает нормально, брандмауэр Windows на сервере выключен.

Наш маршрутизатор - это DrayTek vigor 2820. В разделе NAT, открытые порты, я открыл следующие порты для локальных IP-адресов серверов.

TCP 20-22, TCP 45100-65535

На сервере FileZilla в настройках пассивного режима (я не могу опубликовать изображение, поэтому ...)

Use the following IP: 213.106.150.123
Don't use external IP from local connections: Checked
Use custom port range: 45100-65535

С удаленного сервера в Германии, к которому я подключился по протоколу RDP, я пытаюсь снова подключиться к серверу FileZilla.

Status: Connecting to 213.106.150.123:21...
Status: Connection established, waiting for welcome message...
Response:   220 --
Command:    USER ftp_001471
Response:   331 Password required for ftp_001471
Command:    PASS ********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (213,106,150,123,238,133)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

Окно состояния на сервере FileZilla сообщает следующее:

(not logged in) (87.106.131.22)> Connected, sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (213,106,150,123,195,197)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

Если я изменю настройку пассивного режима FileZilla с нашего внешнего IP на Default, я получу следующие данные от клиента в Германии, пытающегося подключиться.

Status: Connecting to 213.106.150.123:21...
Status: Connection established, waiting for welcome message...
Response:   220 --
Command:    USER ftp_001471
Response:   331 Password required for ftp_001471
Command:    PASS ********
Response:   230 Logged on
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /
Response:   250 CWD successful. "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I
Command:    PASV
Response:   227 Entering Passive Mode (213,106,150,123,196,198)
Command:    MLSD
Response:   425 Can't open data connection.
Error:  Failed to retrieve directory listing

И подробности на сервере.

(not logged in) (87.106.131.22)> Connected, sending welcome message...
(not logged in) (87.106.131.22)> 220 --
(not logged in) (87.106.131.22)> USER ftp_001471
(not logged in) (87.106.131.22)> 331 Password required for ftp_001471
(not logged in) (87.106.131.22)> PASS ********
ftp_001471 (87.106.131.22)> 230 Logged on
ftp_001471 (87.106.131.22)> CWD /
ftp_001471 (87.106.131.22)> 250 CWD successful. "/" is current directory.
ftp_001471 (87.106.131.22)> TYPE I
ftp_001471 (87.106.131.22)> 200 Type set to I
ftp_001471 (87.106.131.22)> PASV
ftp_001471 (87.106.131.22)> 227 Entering Passive Mode (192,168,1,4,195,198)
ftp_001471 (87.106.131.22)> MLSD
ftp_001471 (87.106.131.22)> 425 Can't open data connection.

Что я делаю не так?

Когда я указываю внешний IP-адрес, клиент и сервер сообщают об одном и том же, но порты портятся, и когда я запускаю по умолчанию, сервер использует свой внутренний IP-адрес, но назначение порта выглядит лучше.

Изменить: больше тестирования и его работы.

Итак, я установил FTP-сервер в IIS 7.5, отключил FileZilla, и он заработал! Затем я попытался повторно включить FileZilla, и это тоже сработало! Все это было из моего домашнего ADSL-соединения.

Затем я попытался снова с нашего удаленного сервера в Германии, и это не удалось, зависает в списке каталогов в пассивном режиме как для IIS FTP, так и для FileZilla.

Думаю, что-то не так с брандмауэром / маршрутизатором в центре обработки данных в Германии. Я действительно не хочу связываться с маршрутизатором удаленного сервера (я даже не уверен, что могу изменить правила брандмауэра, поскольку он размещен). Я беспокоюсь о корпоративных клиентах, которые постигнет та же участь при попытке доступа к нашим FTP-сайтам.

У меня была аналогичная проблема, и я решил ее, выбрав «по умолчанию» в параметре «IP-адрес внешнего сервера для передачи в пассивном режиме» в настройках сервера Filezila. Другими словами, не вводите здесь свой общедоступный IP-адрес, даже если вы используете частный адрес. Причина в том, что в вашем брандмауэре может быть включена «проверка FTP», и он будет преобразовывать частный IP-адрес вашего сервера в его общедоступный IP-адрес. В этом случае включение этого перевода в Filezila вызовет проблемы, и соединение будет потеряно после того, как ваш клиент выдаст команду PASV.

Я понимаю, что это может быть изменение, но новый FTP-сервер в 2008 году очень надежен, и я сам заменил FileZilla им. Вы можете также изучить это.

Я предлагаю вам попробовать локально на сервере, используя FTP Windows или другой установленный клиент. Таким образом вы увидите, проблема ли это в сети / брандмауэре или проблема с конфигурацией FTP-сервера. Также проверьте файлы журнала сервера Filezilla, если command.

Если это зависит от брандмауэра, вот статья TechNet, которая может помочь: Как настроить брандмауэр Windows для FTP-сервера в пассивном режиме. Но вы написали, что брандмауэр Windows отключен, поэтому я полагаю, что это проблема внешнего брандмауэра / маршрутизатора (также проверьте сторону клиента).