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

Порты для пассивного режима FTP

Я открыл через брандмауэр порт 21 для FTP в Google Cloud Engine, но я могу подключиться к FTP только через активный мод. Я тоже хочу использовать пассивный мод.

В соответствии с https://stackoverflow.com/questions/24566692/filezilla-ftp-server-fails-to-retrieve-directory-listing порт 50000-55000 должен быть открыт, но я пробовал. Эти ответы не работают в моей ситуации. Когда я открываю все порты для TCP, я могу подключиться через пассивный мод, но я не хочу открывать все порты (или мне нужно открыть все порты ??)

Вот я нашел все портовые штучки:

Пассивный режим

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

Мой вопрос: нужно ли мне открывать все порты для пассивного мода или можно что-то еще?

Система

ОС: CentOS 7 с последними пакетами

Служба FTP: PureFTPd

Обновить

Когда я пробую пассивный мод, в журналах говорится, что я вошел в систему, после зависания при получении списка файлов (я не могу публиковать журналы, потому что мой файл журнала не на английском языке)

С уважением

Добавьте следующее:

PassivePortRange 50000 55000

в

/etc/pure-ftpd.conf

и я думаю, что ваша проблема будет решена. Имейте в виду, что этот диапазон портов также должен быть разрешен в вашем брандмауэре.

РЕДАКТИРОВАТЬ:

Цитируется из этот замечательный источник:

В пассивном режиме FTP клиент инициирует оба подключения к серверу, решая проблему брандмауэра, фильтрующего входящее соединение порта данных с клиентом с сервера. При открытии FTP-соединения клиент открывает два случайных непривилегированных порта локально (N> 1023 и N + 1). Первый порт связывается с сервером через порт 21, но вместо того, чтобы затем выдать команду PORT и разрешить серверу подключиться обратно к его порту данных, клиент выдает команду PASV. В результате сервер затем открывает случайный непривилегированный порт (P> 1023) и отправляет P обратно клиенту в ответ на команду PASV. Затем клиент инициирует соединение от порта N + 1 к порту P на сервере для передачи данных.

уловка здесь в том, что с

PassivePortRange 50000 55000

Директива заставит pureFtp выбирать случайные порты из этого диапазона, которые вы ранее разрешили в вашем брандмауэре.