解决Ubuntu vsftpd连接超时问题可从以下方面入手:
调整服务器超时设置
编辑配置文件 /etc/vsftpd.conf,增加或修改以下参数:
idle_session_timeout=3600 # 空闲会话超时时间(秒)
data_connection_timeout=300 # 数据连接超时时间(秒)
connect_timeout=60 # 连接超时时间(秒)
重启服务生效:sudo systemctl restart vsftpd。
检查防火墙规则
确保开放FTP控制端口(21)和被动模式数据端口范围(如30000-31000):
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
若使用iptables,需添加对应规则。
启用被动模式并配置端口范围
在配置文件中启用被动模式并指定端口范围:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
重启服务后,客户端需在连接时选择被动模式。
验证网络连通性
使用 ping 命令测试与服务器的连通性,确保网络稳定。
检查客户端设置
确保客户端使用正确的端口、传输模式(建议被动模式)及超时参数(如 ftp -w 60)。
查看服务器资源与日志
使用 top 或 htop 检查服务器资源是否充足,查看 /var/log/vsftpd.log 定位具体错误。