在 Debian 系统上如果遇到 FTP 下载/上传速度慢,通常可以从 网络、FTP 客户端、服务端、系统参数 几个方面来优化。下面按场景给你一套实用方案。
在执行优化前,先排查:
ping ftp.server.com
traceroute ftp.server.com
很多防火墙会导致主动模式极慢:
ftp -p ftp.server.com
或在 ~/.netrc / 客户端中启用:
passive
ftp 命令很老,推荐:
lftp(强烈推荐)wgetcurllftp 示例(多线程加速)
lftp ftp://user:pass@host
mirror -c -P 10 /remote /local
-P 10:10 个并发连接-c:断点续传lftp
set net:limit-rate 0
set net:timeout 30
set ftp:passive-mode yes
编辑 /etc/sysctl.conf:
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_window_scaling = 1
应用:
sysctl -p
sysctl -w net.ipv6.conf.all.disable_ipv6=1
或修改 /etc/gai.conf 优先 IPv4。
/etc/vsftpd.conf:
listen=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
max_clients=200
max_per_ip=20
local_max_rate=0
重启:
systemctl restart vsftpd
SSH 本身在高延迟网络表现更好:
sftp user@host
或:
rsync -avz -e ssh user@host:/remote /local
Debian 官方 已不推荐使用 FTP 源,建议改用 HTTP/HTTPS:
sed -i 's|ftp.debian.org|deb.debian.org|g' /etc/apt/sources.list
apt update
✅ 用 lftp + 被动模式
✅ 开启多线程下载
✅ 调整 TCP 窗口
✅ 服务端开启 PASV 端口范围
✅ 尽量避免使用老旧 ftp 命令
如果你能说明:
我可以给你更精准的配置。