Внезапно пользователи не смогли использовать ftp с помощью FileZilla, и только ftp-подключения устанавливались через командную строку. Когда я искал эту проблему, я нашел несколько вопросов здесь, в serverfault, столкнувшихся с этой проблемой, и ответ был таков: потому что командная строка использует активный режим, и решение состояло в том, чтобы изменить режим передачи в Filezilla с пассивного на активный, и это действительно сработало. Мне нужно знать причину, по которой это произошло, поскольку раньше все работало нормально с пассивным режимом, это что-то, что нужно настроить с сервера, вместо того, чтобы заставлять всех клиентов менять свой режим передачи. Мы используем FTP-сервер на IIS 6.
заранее спасибо
решение1
Скорее всего, из-за случайного высокого порта канал передачи данных от клиента к серверу теперь заблокирован брандмауэром.
С помощью пассивного FTP клиент устанавливает как канал управления, так и канал данных. Канал данных устанавливается от клиента к случайному высокому порту на сервере. Если эти случайные высокие порты заблокированы, пассивный режим не будет работать.
С точки зрения серверного брандмауэра для поддержки пассивного режима FTP необходимо открыть следующие каналы связи:
- Порт 21 FTP-сервера из любой точки мира (клиент инициирует соединение)
- Порт FTP-сервера 21 и порты > 1023 (Сервер отвечает на контрольный порт клиента)
- Порты FTP-сервера > 1023 из любой точки мира (Клиент инициирует подключение к данным на случайный порт, указанный сервером)
- Порты FTP-сервера > 1023 на удаленные порты > 1023 (сервер отправляет ACK (и данные) на порт данных клиента)
Больше информации:
https://stackoverflow.com/questions/1699145/в чем-разница-между-активным-и-пассивным-ftp
Активный FTP против пассивного FTP, окончательное объяснение
http://slacsite.com/other/ftp.html#passive