LINUX.ORG.RU

vsftpd не отображает список директорий при включенном шифровании.

 , , ,


0

1

Добрый день!

Никак не могу понять, в чём дело. С отключенным шифрованием фтп работает корректно, но если его включить, то сервер не отвечает на команду LIST. VSFTPD крутится на Redhut 6.

Вот лог файлзиллы:

Статус: Определение IP-адреса для ftp://ftp.xxx.ru

Статус: Соединяюсь с xxx.xxx.xxx.xxx:21...

Статус: Соединение установлено, ожидание приглашения...

Статус: Инициализирую TLS...

Статус: Проверка сертификата...

Статус: TLS соединение установлено.

Статус: Соединение установлено

Статус: Получение списка каталогов...

Статус: Сервер отправил пассивный ответ с неопределяемым адресом. Использую существующий адрес сервера.

Команда: LIST

Ошибка: Соединение передачи данных не может быть установлено: ETIMEDOUT - Превышено время ожидания соединения

Ответ: 425 Failed to establish connection.

Ошибка: Не удалось получить список каталогов

------------

конфиг:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

vsftpd_log_file=/var/ftp/vsftpd.log

syslog_enable=NO

log_ftp_protocol=YES

connect_from_port_20=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

dual_log_enable=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

#tcp_wrappers=YES

pasv_min_port=13450

pasv_max_port=13500

chmod_enable=NO

local_max_rate=102400

delete_failed_uploads=YES

dirlist_enable=YES

hide_ids=YES

log_ftp_protocol=YES

chroot_local_user=YES

rsa_cert_file=/etc/ssl/private/vsftpd_rsa.pem

ssl_enable=YES

ssl_tlsv1=YES

ssl_sslv2=NO

ssl_sslv3=NO

ssl_ciphers=HIGH

require_ssl_reuse=NO

pasv_enable=YES

debug_ssl=YES

Дело в промежуточном фаерволе, который не может расковырять идущий сквозь него шифрованный трафик и понять, какой порт дополнительно будет использоваться на фтп-сервере для data connection.
Решение - указать на сервере и просовывать на фаерволе фиксированный набор портов.

thesis ★★★★★ ()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от gresem

Вообще, сервер находится за натом

Нат я и называю слово «фаервол».

20й и 21й порты открыты

Это для активного режима, а ты, судя по логу, пробуешь пассивный.

thesis ★★★★★ ()
Ответ на: комментарий от thesis

То есть, клиент подключается к 21му порту, в ответ сервер ему отсылает номер порта, которому клиент должен будет подключиться для передачи данных. Но т.к. это сообщение зашифровано, фаервол его не видит и, как следствие, не знает, что нужно будет открыть этот порт для клиента. Я правильно понял суть?

Да, настроил пассивный режим. Но следующие строчки:

connect_from_port_20=YES ftp_data_port=20 (по дефолту)

не означают ли, что data connection будет проходить по 20му порту?

gresem ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.