在 Debian 上使用 vsftpd 出现传输速度慢,通常不是单一原因,而是配置、网络、文件系统、客户端等多方面共同作用。下面按最常见 → 较少见逐一排查,并给出对应解决办法。
/etc/vsftpd.conf)# 基础
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
# 性能优化
async_abor_enable=YES
data_connection_timeout=120
idle_session_timeout=300
# 限制连接数(防止被拖慢)
max_clients=50
max_per_ip=5
# TCP 优化
tcp_wrappers=NO
connect_from_port_20=YES
修改后重启:
systemctl restart vsftpd
vsftpd 默认支持 ASCII 模式,但:
✅ 解决
ascii_upload_enable=NO
ascii_download_enable=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
同时防火墙放行端口:
ufw allow 30000:31000/tcp
Debian 默认 TCP 参数不一定适合大流量 FTP。
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
vim /etc/sysctl.conf
加入上述内容,然后:
sysctl -p
iostat -x 1
✅ 解决:
vsftpd:
✅ 建议:
TLS 会:
✅ 排查:
ssl_enable=NO
如果必须加密,确保:
✅ 建议:
检查:
aa-status
如果 vsftpd 被限制:
vim /etc/apparmor.d/usr.sbin.vsftpd
或临时关闭测试:
systemctl stop apparmor
✅ 1. 关闭 ASCII 模式
✅ 2. 正确配置 PASV
✅ 3. 优化 vsftpd.conf
✅ 4. 检查磁盘 IO
✅ 5. 调整 TCP 参数
✅ 6. 测试是否 FTPS 导致
你可以直接贴出:
/etc/vsftpd.conf我可以 直接帮你改配置到最优。