vsftpd слишком много сессий для этого адреса

Я использую Ubuntu 14.04 и vsftpd версии 3.0.2, и моя проблема связана с загрузкой файлов через FTP. Сервис отлично работал последние два года, и я смог загрузить тысячи файлов с 0 ошибками. Однако в последнее время я больше не могу этого делать, если я попытаюсь загрузить, скажем, 1000 файлов, он выполнит первые ~300 файлов в порядке, но затем начнет отказывать, пока постепенно все слоты для загрузки не будут заблокированы, повторяя попытки для этих неудачных файлов 2 раз, в ожидании тайм-аута, и в итоге я остаюсь с кучей неудачных переводов.

Я использую Filezilla 3.33 на Windows в качестве клиента. Вот как это выглядит в Filezilla, когда изначально происходит сбой:

Status: Starting upload of C:\wamp64\www\system\themes\widget\html.php
Status: Retrieving directory listing of "/web/domain.com/public_html/system/themes/widget"...
Command:    PASV
Response:   227 Entering Passive Mode (10,10,20,10,50,217).
Command:    STOR icon_box.php
Response:   150 Ok to send data.
Error:  Connection timed out after 10 seconds of inactivity
Error:  File transfer failed

vsftp.log выглядит так для неудачных переводов:

Sat Jun  2 10:17:00 2018 [pid 29163] [admin] FAIL UPLOAD: Client "ip", "/web/domain.com/public_html/system/themes/widget/html.php", 853 bytes, 0.00Kbyte/sec

Затем после некоторых попыток Filezilla показывает эти ошибки:

Response:   421 There are too many connections from your internet address.
Error:  Could not connect to server
Status: Disconnected from server
Status: Delaying connection for 5 seconds due to previously failed connection attempt...
Response:   421 There are too many connections from your internet address.
Error:  Could not connect to server
Response:   421 There are too many connections from your internet address.
Error:  Could not connect to server

после всех этих повторов vsftp.log выглядит следующим образом:

Sat Jun  2 11:20:19 2018 [pid 3616] CONNECT: Client "ip", "Connection refused: too many sessions for this address."
Sat Jun  2 11:20:24 2018 [pid 3622] CONNECT: Client "ip", "Connection refused: too many sessions for this address."
Sat Jun  2 11:20:24 2018 [pid 3632] CONNECT: Client "ip", "Connection refused: too many sessions for this address."

Вот как выглядит мой /etc/vsftpd.conf:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
anon_upload_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
dual_log_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
force_dot_files=YES
ascii_upload_enable=YES
ascii_download_enable=YES
#allow_writable_chroot=YES
allow_writeable_chroot=YES
seccomp_sandbox=NO
pasv_enable=YES
pasv_max_port=14000
pasv_min_port=12000

netstat -napt | grep client_ip

tcp        0      0 server_ip:21        client_ip:54986    TIME_WAIT   -
tcp        1      0 server_ip:21        client_ip:54648    CLOSE_WAIT  4632/vsftpd
tcp        0      0 server_ip:12533     client_ip:54757    ESTABLISHED 4702/vsftpd
tcp        1      0 server_ip:21        client_ip:54730    CLOSE_WAIT  4698/vsftpd
tcp        0      0 server_ip:12342     client_ip:54900    ESTABLISHED 4700/vsftpd
tcp        0      0 server_ip:12113     client_ip:54854    TIME_WAIT   -
tcp        0      0 server_ip:21        client_ip:54994    TIME_WAIT   -
tcp        0      0 server_ip:13151     client_ip:54852    TIME_WAIT   -
tcp     2122      0 server_ip:13772     client_ip:54690    CLOSE_WAIT  -
tcp        0      0 server_ip:22        client_ip:54382    ESTABLISHED 4294/0
tcp     6001      0 server_ip:12738     client_ip:54679    CLOSE_WAIT  -
tcp     2122      0 server_ip:13316     client_ip:54658    CLOSE_WAIT  -
tcp        0      0 server_ip:12107     client_ip:54846    ESTABLISHED 

в общей сложности это занимает около 180 строк, в то время как Filezilla сообщает, что вся ситуация в тот момент : 421 Слишком много соединений с вашего интернет-адреса.

1 ответ

По словам источника, это связано с Прелогином. Значение по умолчанию кажется 50; так как вы не изменили его в своем конфигурационном файле.

Так что я думаю, что ваш FTP-клиент: мне кажется, вы можете указать, что вы можете указать верхнюю границу для пула соединений filezilla. Вы что-нибудь изменили? Посмотрите там для конфигурации filezilla.

Сначала вы должны подтвердить метод бега. использовать chkconfig -A|grep vsftpd, если он недействителен, вам следует проверить конфигурацию vi /etc/xinetd.d/vsftpd, disable = no означает метод xinetd, disable = yes означает автономный метод.

Если вы используете автономный метод, вы можете изменить max_per_ip в /etc/vsftpd.conf для продления сессий на один IP.

Другие вопросы по тегам