Ubuntu FTP Server 传输速度设置指南
一、使用 vsftpd 进行限速
- 安装与备份
- 安装:sudo apt update && sudo apt install vsftpd
- 备份:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
- 全局限速(单位:字节/秒)
- 打开配置:sudo nano /etc/vsftpd.conf
- 设置示例:
- 匿名用户下载:anon_max_rate=51200(约50 KB/s)
- 本地用户下载:local_max_rate=204800(约200 KB/s)
- 说明:vsftpd 的限速参数以字节/秒为单位;若需允许写入,确保write_enable=YES。
- 按用户限速(用户级配置)
- 启用用户配置目录:user_config_dir=/etc/vsftpd/userconf
- 创建目录:sudo mkdir -p /etc/vsftpd/userconf
- 为用户创建同名文件(如用户xiaowang):sudo nano /etc/vsftpd/userconf/xiaowang
- 在文件中写入:local_max_rate=80000(约78.125 KB/s)
- 使配置生效:sudo systemctl restart vsftpd
- 验证要点:实际速率通常会在设定值的**80%–120%**间波动,属正常现象;若线路或系统资源不足,可能更低。
二、使用 ProFTPD 进行限速
- 安装:sudo apt update && sudo apt install proftpd
- 启用限速模块与配置
- 编辑:sudo nano /etc/proftpd/proftpd.conf
- 示例(限制为约1000 KB/s):
- 使配置生效:sudo systemctl restart proftpd
- 说明:不同模块语法略有差异,选择其一即可;如需更细粒度(目录/用户/组),可在对应配置块中追加规则。
三、系统级限速工具(可选)
- trickle(进程级带宽整形)
- 安装:sudo apt install trickle
- 示例:限制客户端会话的上传/下载为100 KB/s / 50 KB/s:trickle -u 100 -d 50 ftp
- 适用场景:临时测试或对特定客户端限速;对多进程/多线程 FTP 客户端效果可能受限。
- tc(网卡/主机级流量控制)
四、常见问题与验证
- 单位换算与常见误区
- vsftpd 限速参数为字节/秒;例如51200≈50 KB/s,1048576≈1 MB/s。
- 生效与回滚
- 每次修改后执行:sudo systemctl restart vsftpd 或 sudo systemctl restart proftpd
- 回滚配置:使用备份文件**/etc/vsftpd.conf.bak**恢复。
- 验证方法
- 使用 FTP 客户端进行大文件上传/下载,观察平均速率是否接近设定值(允许**80%–120%**波动)。
- 其他注意事项
- 若需允许上传,确保启用write_enable=YES(vsftpd)。
- 限速会受磁盘 I/O、网络拥塞、并发连接数等影响,必要时结合并发限制(如max_clients、max_per_ip)一并优化。