Ошибка при подключении к 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-клиента можно указать использование только одного из режимов: активного или пассивного.