在 Linux 上使用 vsftpd(Very Secure FTP Daemon) 时,出现“慢”的情况通常由以下几类原因导致。你可以对照排查:
vsftpd 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 服务器不可用或响应慢,登录会卡很久。
现象:
USER 命令之后卡住解决方法:
# vsftpd.conf
reverse_lookup_enable=NO
然后重启:
systemctl restart vsftpd
被动模式端口未正确开放,或 PASV 地址错误,会导致:
检查项:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
并确保防火墙放行:
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
排查:
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
验证:
iostat -x 1
top
常见影响性能的配置:
# 不必要的功能
ls_recurse_enable=NO
ascii_upload_enable=NO
ascii_download_enable=NO
# 限制连接数
max_clients=50
max_per_ip=5
测试:
ping ftp_server
mtr ftp_server
reverse_lookup_enable=NO如果你愿意,可以贴出:
vsftpd.conf我可以帮你精确定位原因。