Ошибка при подключении к 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
Для включения диапазона адресов для пассивного режима FTP в ProFTP, раскомментируйте строку с директивой PassivePorts в файле по следующему пути:
/etc/proftpd/proftpd.conf
- для RHEL-based систем;/etc/proftpd.conf
- для Debian-based систем.
PureFTP
Для включения диапазона адресов для пассивного режима FTP в PureFTP, в RHEL-based системах, раскомментируйте строку с директивой PassivePorts
в файле по пути /etc/pure-ftpd/pure-ftpd.conf
и укажите для нее значение “30000 35999”.
Для включения диапазона адресов для пассивного режима FTP в PureFTP, в Debian-based системах, создайте файл по пути /etc/pure-ftpd/conf/PassivePortRange
и внесите в него значение “30000 35999”. Это можно сделать быстро с помощью следующей команды:
echo "35000 35999" > /etc/pure-ftpd/conf/PassivePortRange
Сетевые настройки
Убедитесь, что в настройках брандмауэра вашего сервера и у вашего хостинг-провайдера не ограничены подключения к портам 20
и с 35000
по 35999
.
Если сервер находится за NAT, убедитесь что на стороне хостинг-провайдера присутствует проброс этих портов до вашего сервера.