FTP висит на "150 Вот идет список каталогов".
У меня есть сервер CentOS с VSFTPD, поэтому я могу загружать файлы на свой сайт.
Когда я подключаюсь к FTP, он перечисляет папки в корневом каталоге, и я могу открыть все папки, кроме папки с именем public, которая просто заставляет FileZilla зависать "150 Вот список каталогов".
Друг может подключиться к серверу и получить доступ к папке просто отлично.
Также, когда я получаю доступ к некоторым другим папкам, которые я упомянул, когда я пытаюсь загрузить туда файлы, он просто зависает при передаче.
Я установил пассивный режим в vsftpd.conf и открыл порты следующим образом:
pasv_enable=Yes
pasv_max_port=12100
pasv_min_port=12000
pasv_address=<IP ADDRESS>
IPtables:
-I INPUT -p tcp --destination-port 12000:12100 -j ACCEPT
Я могу подключиться к другим FTP-серверам и передавать файлы просто отлично, но на моем собственном сервере что-то не так. Я также проверил это через несколько учетных записей FTP.
1 ответ
Убедитесь, что у вас также загружен модуль ядра "ip_conntrack_ftp", который будет отслеживать связанные соединения, необходимые для фактической передачи данных. От имени пользователя root (или с помощью sudo) запустите:
modprobe ip_conntrack_ftp
Также убедитесь, что SELinux (если он включен) не блокирует ваши запросы, убедитесь, что вы используете общедоступные контексты, например, user_home_dir_t (контекст по умолчанию вашего homedir) по умолчанию НЕ будет работать с FTP-сервером, если вы не сделаете:
setsebool -P ftp_home_dir 1
Также есть некоторые другие связанные с ftp флаги SELinux, которые могут мешать в некоторых ситуациях. Бежать getsebool -a|grep ftp
чтобы увидеть их все и найти их в документации для подробных описаний.