Почему FTP не функционирует на VPS?

У меня установлен VPS с операционной системой Debian 12 и настроен FTP сервер на базе vsftpd. После смены IP-адреса хостера с одного региона на другой перестал работать пассивный режим подключения по FTP. В FTP-клиенте при попытке подключения возникает ошибка <i>500 Illegal PORT command</i>. Я обновил файл конфигурации <i>/etc/vsftpd.conf</i>, указав новый IP-адрес в параметре <i>pasv_address</i>, но проблема не решилась. Порты для работы FTP открыты в ufw, и перевод FTP-клиента в активный режим также не помог. 

Вот содержимое конфигурационного файла <b>/etc/vsftpd.conf</b>: 
<i>allow_writeable_chroot=YES<br/>
pasv_enable=YES<br/>
pasv_address=192.*.*.*<br/>
pasv_min_port=30000<br/>
pasv_max_port=30100<br/>
user_config_dir=/etc/vsftpd_virtuser_conf<br/>
guest_enable=YES<br/>
virtual_use_local_privs=YES<br/>
nopriv_user=www-data<br/>
guest_username=www-data</i> 

Кроме того, в логах vsftpd зафиксированы следующие записи: 
<i>Sat Jan 11 15:33:47 2025 [pid 248615] CONNECT: Client "::ffff:185.*.*.200"<br/>
Sat Jan 11 15:33:48 2025 [pid 248614] [acc24] OK LOGIN: Client "::ffff:185.*.*.200"</i>

Каковы возможные причины отсутствия соединения и как можно это исправить?
  • 11 января 2025 г. 13:04
Ответы на вопрос 1
Проблема с подключением к вашему FTP-серверу после смены IP-адреса может быть вызвана рядом факторов, особенно в контексте работы в пассивном режиме. Давайте рассмотрим несколько возможных причин и решений:

1. **Правильность IP в конфигурации**: Вы уже упомянули, что обновили параметр `pasv_address`. Убедитесь, что этот IP-адрес действительно соответствует новому внешнему IP-адресу вашего VPS. Можно воспользоваться командами вроде `curl ifconfig.me` или `wget -qO- ifconfig.me` для проверки внешнего IP.

2. **Открытие необходимых портов**: Убедитесь, что в файрволе (как `ufw`, так и любые другие системы фильтрации трафика) открыты как порты для пассивного режима (30000-30100), так и стандартный FTP-порт (21). Проверьте правила с помощью команды:
   ```
   sudo ufw status
   ```

3. **Настройки NAT и маршрутизации**: Если ваш VPS находится за NAT (что маловероятно для большинства VPS-провайдеров, но все же возможно), убедитесь, что необходимые порты проброшены правильно, и ваш сервер может обрабатывать входящие соединения.

4. **Сетевые настройки**: Проверьте, нет ли блокирующих правил на уровне сети (например, на уровне хостинга или между вами и сервером), которые могут препятствовать соединению.

5. **Логи vsftpd и FTP-клиента**: Логи, которые вы упомянули, показывают успешное подключение и вход в систему, но проблема может заключаться в том, как сервер обрабатывает команды или инициирует соединения. Проверьте более детализированные логи, если это возможно (например, включите `log_ftp_protocol=YES` в конфигурации vsftpd для получения более подробных логов).

6. **Сторонние сети или VPN**: Если вы подключаетесь через прокси или VPN, попробуйте отключить их и подключиться напрямую, чтобы исключить влияние сетевого оборудования.

7. **Проверка на другом клиенте**: Иногда проблема может быть связана с конкретным FTP-клиентом. Попробуйте подключиться с другого клиента или компьютерa, чтобы исключить проблемы на клиентской стороне.

Если вы завершили все вышеперечисленные проверки и проблема остается, можно рассмотреть альтернативный способ подключения (например, SFTP или FTPS) в качестве временного решения или долгосрочной замены.
Похожие вопросы