Ubuntu 上 FTP 服务响应慢,通常不是“网络本身慢”,而是服务端配置或系统环境导致的。下面按最常见原因 → 排查方法 → 解决办法来说明。
很多 FTP 服务器(vsftpd、proftpd)在客户端连接时会做 反向 DNS 解析(PTR)
如果 DNS 不通或很慢,就会卡在登录前。
现象
220 欢迎信息或登录特别慢(几秒~十几秒)解决(vsftpd 为例)
sudo nano /etc/vsftpd.conf
添加或修改:
reverse_lookup_enable=NO
重启:
sudo systemctl restart vsftpd
FTP 被动模式需要开放端口范围,如果:
pasv_address 写错都会导致列表目录慢或卡死
检查 vsftpd 配置
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP
云端服务器必须设置 pasv_address,否则客户端会连错地址。
即使 FTP 能连,但:
也会表现为“响应慢”
检查
sudo ufw status
iptables -L -n
开放端口示例
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
如果 FTP 根目录:
LIST 命令会非常慢
排查
top
iotop
df -h
也会导致整体延迟高
可尝试:
pam_service_name=vsftpd
local_enable=YES
# 1. 看是否卡在连接阶段
ftp your_server_ip
# 2. 关 DNS 解析
reverse_lookup_enable=NO
# 3. 检查被动端口
pasv_address=公网IP
# 4. 防火墙
ufw status
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=公网IP
reverse_lookup_enable=NO
我可以给你一份精准配置。