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

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.

Убедитесь, что у вас также загружен модуль ядра «ip_conntrack_ftp», который будет отслеживать связанные соединения, необходимые для фактической передачи данных. От имени root (или используя sudo) запустите это:

modprobe ip_conntrack_ftp

Также убедитесь, что SELinux (если он включен) не блокирует ваши запросы, обязательно используйте общедоступные контексты, например user_home_dir_t (контекст вашего домашнего каталога по умолчанию) будет по умолчанию НЕ работать с FTP-сервером, если вы:

setsebool -P ftp_home_dir 1

Есть и другие флаги SELinux, связанные с ftp, которые могут мешать в некоторых ситуациях. Бегать getsebool -a|grep ftp чтобы увидеть их всех и найти их в документация для подробных описаний.