在 Ubuntu 上用 vsftpd(Very Secure FTP Daemon) 时感觉“慢”,通常不是 vsftpd 本身的问题,而是配置、网络或客户端方式导致的。下面按常见原因 → 排查方法 → 解决建议来说明。
vsftpd 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 不通或很慢,登录会卡几秒到十几秒。
现象
ftp 命令登录慢,FileZilla 也慢解决
编辑 /etc/vsftpd.conf:
reverse_lookup_enable=NO
然后重启:
sudo systemctl restart vsftpd
这是 Ubuntu + vsftpd 最经典的“慢”原因。
如果 PASV 端口范围没开,或防火墙/NAT 没放行,会导致:
检查配置
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=你的公网IP # 如果是云服务器/NAT
防火墙
sudo ufw allow 40000:50000/tcp
云服务器还要在安全组放行这些端口。
建议
df -h)检查
df -h
ls -l /srv/ftp
建议
lftp 或 curlftpfs# 1. 看是否有 DNS 卡顿
sudo tcpdump -n port 53
# 2. 看 vsftpd 日志
sudo tail -f /var/log/vsftpd.log
# 3. 测试登录速度
time ftp localhost
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
reverse_lookup_enable=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=公网IP
Ubuntu 上 vsftpd 慢,90% 是 DNS 反向解析或 PASV 端口没配好。
如果你愿意,可以:
vsftpd.conf我可以直接帮你改到“秒连”。