Я использую ProFTPD версии 1.3.3c в активном режиме ftp и имею следующие правила брандмауэра.
Но всякий раз, когда я делаю список каталогов, это слишком медленно. Это требует времени, но каталог и файлы попадают в список.
Как только я сбрасываю правило iptables, это быстро. Что мне не хватает в этом правиле?
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Во-первых, FTP должен быть худшим протоколом, который до сих пор используется. Если это вообще возможно, вам следует использовать SSH.
Активный FTP требует, чтобы порт 20 был открыт НА КЛИЕНТЕ. Это явно невозможно в большинстве случаев и нарушает все правила разумного поведения и настройки межсетевого экрана. Вот почему большинство людей просто используют пассивный FTP, который требует, чтобы на сервере был открыт ряд портов с высокими номерами в дополнение к порту 21.
На этом сайте есть дополнительные объяснения и несколько полезных схем: http://slacksite.com/other/ftp.html
Вам также необходимо открыть порт TCP 20 для сокета данных. ссылка на сайт
Вы используете пассивный FTP? В таком случае вам также необходимо открыть диапазон портов выше 1023. На самом деле не имеет значения, какие порты используются, но обычно используются 2000–3000.
В качестве теста, если это ваша проблема, установите для вашего FTP-клиента АКТИВНЫЙ (или как там он называет противоположный вариант - ПАССИВНЫЙ) и посмотрите, осталась ли у вас та же проблема. Если нет, то вам нужно открыть несколько портов с высоким уровнем, чтобы позволить происходить пассивному состоянию.