У меня есть ftp-сервер, к которому мои клиенты спокойно подключаются утром, но днем в соединении отказывают (не все, а только один из них), в то время как клиенты, использующие http, нормально работают.
В частности, создается впечатление, что учетные данные для аутентификации приняты, но передача файлов заблокирована.
Может ли быть возможным, что у клиента во второй половине дня будет доступная нижняя полоса, а затем linux или vsftpd откажут в соединении?
FTP-сервер пассивен, файл конфигурации vsftpd.conf ( aaa.bbb.ccc.ddd это IP-адрес сервера):
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0666
xferlog_enable=YES
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
chroot_local_user=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
file_open_mode=0666
anon_umask=000
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pasv_address=aaa.bbb.ccc.ddd
pasv_addr_resolve=NO
secure_chroot_dir=/usr/share/empty
allow_writeable_chroot=YES
isolate=NO
isolate_network=NO
Я бы посоветовался с вашей командой по брандмауэрам. Некоторые из более продвинутых брандмауэров могут реагировать таким образом в некоторых случаях.
При пассивном FTP (обычная настройка) соединение начинается с порта 21, а затем переходит на случайный порт с большим числом. В вашем случае используются 50000-50010 портов. Брандмауэр, вероятно (и должен) быть настроен так, чтобы блокировать эти порты, поскольку они не используются в качестве выделенных портов. Брандмауэры могут разрешать соединения через порт 21, а затем, если соединение установлено, оно будет отслеживать соединение и пропускать динамический порт.
Я подозреваю, что ваш пользователь, который не так часто использует соединение, в этом случае столкнется с тайм-аутом. Хотя порт 21 всегда будет открыт, с динамическими портами связаны таймауты. Передача файлов будет происходить через динамические порты, что объясняет, почему они могут подключаться, но не передавать.