一、配置文件优化(vsftpd.conf)
anonymous_enable=NO),避免未授权用户占用资源;启用本地用户登录(local_enable=YES)并允许上传(write_enable=YES);将用户限制在其主目录(chroot_local_user=YES),增强安全性;设置合理的umask(local_umask=022),确保上传文件权限正确。max_clients限制服务器总并发连接数(如max_clients=100,根据CPU核心数和内存调整,避免过载);用max_per_ip限制单个IP的最大连接数(如max_per_ip=5),防止恶意用户刷连接。pasv_enable=YES),解决主动模式在防火墙/NAT环境下的连接问题;指定被动模式端口范围(pasv_min_port=40000、pasv_max_port=50000),便于防火墙放行。local_max_rate限制本地用户传输速度(如local_max_rate=500KB/s,避免单个用户占用全部带宽);anon_max_rate限制匿名用户速度(如anon_max_rate=50KB/s),优先保障关键业务带宽。ssl_enable=YES),配置证书路径(rsa_cert_file=/etc/ssl/certs/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.key),提升数据传输安全性(即使启用加密,现代CPU也能较好支持,对速度影响有限)。二、系统级别优化
/etc/security/limits.conf,增加以下内容,提升vsftpd处理大量并发连接的能力:* soft nofile 65535、* hard nofile 65535(nofile表示最大文件描述符数)。/etc/sysctl.conf,添加或修改以下参数,提升TCP传输效率和并发处理能力:
net.core.somaxconn = 65535(监听队列最大长度,避免连接被拒绝);net.ipv4.ip_local_port_range = 1024 65535(客户端可用端口范围,扩大端口池);net.ipv4.tcp_max_syn_backlog = 65535(SYN队列长度,应对高并发连接请求);net.ipv4.tcp_tw_reuse = 1(允许复用TIME-WAIT状态的连接,减少资源占用);net.ipv4.tcp_fin_timeout = 30(TIME-WAIT状态超时时间,加快连接回收);sudo sysctl -p。cpufrequtils工具)将CPU频率调节器设为performance模式(echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor),关闭TurboBoost/SpeedStep功能(若有),确保CPU以稳定最高性能运行,避免性能波动。三、其他优化建议
21、被动模式端口范围如40000:50000),例如使用ufw:sudo ufw allow 21/tcp、sudo ufw allow 40000:50000/tcp,确保被动模式连接畅通。setsebool -P ftp_home_dir on(允许FTP访问用户家目录)、setsebool -P allow_ftpd_full_access on(允许FTP完全访问,根据安全需求调整)。netstat -ant | grep ftp或ss -s命令监控FTP连接数、端口使用情况;通过vsftpd日志(xferlog_enable=YES)分析传输速度、失败原因,及时调整配置(如增大max_clients或调整端口范围)。