vsftpd 在 Debian 上“慢”通常不是单一原因,下面按最常见 → 较少见的顺序给你排查和优化方案,基本都能解决。
现象:连接、登录特别慢,但登录后传输正常。
vsftpd 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 不通或慢,就会卡住。
编辑配置文件:
sudo nano /etc/vsftpd.conf
加入或修改:
reverse_lookup_enable=NO
重启:
sudo systemctl restart vsftpd
✅ 这是 90% Debian vsftpd 慢的元凶
现象:能连上,但列目录慢 / 卡死
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo ufw allow 30000:31000/tcp
云服务器还要:
pasv_address=你的公网IP
现象:客户端卡在 Connecting...
禁用 IPv6:
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
# 如果不需要日志
xferlog_enable=NO
虚拟用户 + PAM 会慢一点。
如果 登录快,但传文件慢:
top
iotop
检查:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
reverse_lookup_enable=NO
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
xferlog_enable=NO
| 检查项 | 是否 |
|---|---|
| 关闭 reverse DNS | ✅ |
| PASV 端口正确 | ✅ |
| IPv6 关闭 | ✅ |
| 防火墙放行 | ✅ |
| 云安全组放行 | ✅ |
你可以把下面信息发我,我可以精准判断:
cat /etc/os-release)我可以直接给你一份针对你环境的配置。