在 Debian 上优化 FTPServer(通常指 vsftpd 或 ProFTPD),可以从 性能、安全、并发、网络、磁盘和日志 几个方面入手。下面以 vsftpd(最常见) 为主说明,并补充 ProFTPD 的优化建议。
sudo apt update
sudo apt install vsftpd
启动并设置开机自启:
sudo systemctl enable vsftpd
sudo systemctl start vsftpd
编辑配置文件:
sudo nano /etc/vsftpd.conf
# 基本设置
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
# 并发与性能
max_clients=500
max_per_ip=10
max_login_fails=3
# 数据传输优化
connect_from_port_20=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
# 超时设置
idle_session_timeout=300
data_connection_timeout=120
# 关闭 DNS 反向解析(提升连接速度)
reverse_lookup_enable=NO
# 限制用户访问
chroot_local_user=YES
allow_writeable_chroot=YES
# 日志
xferlog_enable=YES
log_ftp_protocol=NO # 调试时可开启
✅ 重启生效
sudo systemctl restart vsftpd
FTP 被动端口范围:
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo nano /etc/security/limits.conf
添加:
* soft nofile 65535
* hard nofile 65535
sudo nano /etc/sysctl.conf
添加:
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
应用:
sudo sysctl -p
sudo nano /etc/fstab
示例:
/dev/sdb1 /data ext4 defaults,noatime,nodiratime 0 2
sudo apt install openssl
生成证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt
配置 vsftpd:
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
编辑:
sudo nano /etc/proftpd/proftpd.conf
推荐:
MaxInstances 30
MaxClients 200
MaxClientsPerHost 5
TimeoutIdle 300
TimeoutNoTransfer 120
netstat -an | grep :21 | wc -l
sudo tail -f /var/log/vsftpd.log
✅ 如果你追求极致性能或安全,建议:
FTP 本身 明文、老旧、难穿透 NAT。
✅ 启用被动模式
✅ 限制并发连接
✅ 关闭 DNS 反向解析
✅ 优化系统文件描述符
✅ 使用 FTPS
✅ 防火墙放行端口
✅ 日志不要开 debug
如果你愿意,可以告诉我:
我可以给你 更精确的配置模板。