Вопрос или проблема
Я запускаю pure-ftpd на сервере Ubuntu 22. Я только что сделал чистую установку и установил PassivePortRange 30000 35000
в файле /etc/pure-ftpd/pure-ftpd.conf
. Я также открыл этот диапазон в файерволе csf.
Когда я пытаюсь подключиться к нему с помощью FileZilla, я получаю порт пассивного режима вне диапазона, и это приводит к ошибке таймаута, так как этот порт не открыт в файерволе.
Resposta: 227 Entering Passive Mode (x,x,x,x,63,238)
Comando: MLSD
Erro: A conexão de dados não pode ser estabelecida: ETIMEDOUT - Tempo de tentativa de conexão excedido
Я пытался найти любые другие настройки PassivePortRange в папке /etc, но не смог найти другой файл, который мог бы конфликтовать с этой настройкой. Как я могу заставить пассивный порт быть в этом диапазоне?
Ответ или решение
Решение проблемы с диапазоном пассивных портов в Pure-FTPd
Введение
Проблема с ошибкой «пассивный порт вне диапазона» в Pure-FTPd может возникнуть по нескольким причинам, включая неправильные настройки конфигурации, конфликтующие файрволы или неправильное взаимодействие с клиентами, такими как FileZilla. В данной статье мы рассмотрим возможные шаги для устранения данной проблемы, а также предоставим советы по предотвращению её повторения.
Проверка конфигурации Pure-FTPd
-
Обновите настройки конфигурации:
Убедитесь, что вы правильно установили диапазон пассивных портов. Откройте файл конфигурации/etc/pure-ftpd/pure-ftpd.conf
и проверьте наличие следующей строки:PassivePortRange 30000 35000
-
Правильная перезагрузка службы:
После внесения изменений в файл необходимо перезапустить службу Pure-FTPd, чтобы настройки вступили в силу:sudo systemctl restart pure-ftpd
Настройки файрвола
-
Настройка CSF:
Убедитесь, что диапазон портов 30000-35000 открыт в конфигурации вашего файрвола CSF. Для этого отредактируйте файл конфигурации CSF:/etc/csf/csf.conf
и убедитесь, что следующие строки присутствуют и не закомментированы:
TCP_IN = "20,21,30000:35000" TCP_OUT = "20,21,30000:35000"
-
Перезапуск CSF:
После изменения конфигурации файрвола не забудьте перезапустить CSF:sudo csf -r
Проверка сторонних конфликтов
-
Проверка других демонов FTP:
Убедитесь, что на вашем сервере не работают другие FTP-серверы, которые могут конфликтовать с Pure-FTPd. Используйте следующую команду для поиска работающих процессов:ps aux | grep ftp
-
Проверка синтаксиса файрвола:
Используйте инструменты, такие какnmap
, чтобы проверить открытые порты на вашем сервере. Командаnmap
поможет вам убедиться, что порты действительно открыты:nmap -p 30000-35000 YOUR_SERVER_IP
Использование клиента FTP
- Настройки FileZilla:
При подключении через FileZilla убедитесь, что выбран правильный режим соединения. В настройках FileZilla выберите «Настройки» -> «FTP» и установите режим соединения в «Пассивный».
Логирование и отладка
- Проверка логов:
При наличии проблем с подключением обязательно проверьте логи Pure-FTPd, чтобы выяснить больше информации о причинах возникновения ошибочных соединений. Логи обычно находятся в директории/var/log
, например:cat /var/log/syslog | grep pure-ftpd
Заключение
Корректная настройка диапазона пассивных портов и файрвола, а также внимание к возможным конфликтам с другими FTP-серверами игроками на вашем сервере, являются ключевыми шагами в решении проблемы «пассивный порт вне диапазона» в Pure-FTPd. Следуя описанным рекомендациям, вы сможете устранить возникшую проблему и обеспечить стабильную работу вашего FTP-сервера.