Ошибка при подключении к FTP-серверу
Симптомы
При попытке подключиться к FTP-серверу возникают следующие ошибки:
В Linux
229 Entering Extended Passive Mode (|||35514|)
ftp: Can't connect to `91.221.0.251:35514': No route to host
В FileZilla
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing
Причины
- Присутствуют ограничения по порту 20 и пассивным портам FTP на сервере
- Целевой сервер находится за NAT и ограничения по портам установлены на сетевом оборудовании
Решение
Включите диапазон адресов для пассивного режима в настройках FTP-сервера, раскомментировав соответствующие строки в файлах конфигураций:
Для ProFTP в "/etc/proftpd.conf" или "etc/proftpd/proftpd.conf":
#PassivePorts 35000 35999
Для Pure-FTP в "/etc/pure-ftpd/pure-ftpd.conf":
# PassivePortRange 30000 50000
После внесения изменений, необходимо перезагрузить службу FTP-сервера:
Для ProFTP:
systemctl restart proftpd
Для Pure-FTP:
systemctl restart pure-ftpd
Убедитесь, что в настройках брандмауэра вашего сервера и у вашего хостинг-провайдера не запрещены подключения к портам 20 и с 35000 по 35999 (с 30000 по 50000, при использовании Pure-FTP).
Если сервер находится за NAT, убедитесь что его настройках на стороне хостинг-провайдера присутствует проброс (forwarding) этих портов до вашего сервера.
Как дополнительный вариант решения, в настройках FTP-клиента можно указать использование только одного из режимов: активного или пассивного.