在 Debian 上优化 vsftpd(Very Secure FTP Daemon),通常从性能、并发、安全、被动模式、日志几个方面入手。下面给你一套实用优化方案(适用于 Debian 10/11/12)。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
修改后重启:
sudo systemctl restart vsftpd
max_clients=200
max_per_ip=10
根据服务器带宽和 CPU 调整
# 关闭 DNS 反向解析(加快连接)
reverse_lookup_enable=NO
# 允许异步传输(提高吞吐)
async_abor_enable=YES
# 数据连接超时
data_connection_timeout=300
idle_session_timeout=600
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
防火墙必须放行:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
anonymous_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 不推荐直接 chroot 系统用户目录
适合大量 FTP 账号:
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_conf
虚拟用户比系统用户更稳定、更安全
# 单用户最大速度(字节)
local_max_rate=1048576 # 1MB/s
或按用户配置:
/etc/vsftpd/user_conf/user1
local_max_rate=2097152
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES
日志位置:
/var/log/vsftpd.log
ulimit -n 65535
永久生效:
/etc/security/limits.conf
ftp soft nofile 65535
ftp hard nofile 65535
sysctl -w net.core.somaxconn=1024
sysctl -w net.ipv4.tcp_tw_reuse=1
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key
force_local_logins_ssl=YES
force_local_data_ssl=YES
生成证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.pem
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=公网IP
max_clients=200
max_per_ip=10
idle_session_timeout=600
data_connection_timeout=300
xferlog_enable=YES
log_ftp_protocol=YES
rsync / scp如果你愿意,可以告诉我:
我可以直接给你一份专属 vsftpd.conf ✅