FileZilla客户端内置了传输速度限制功能,可直接控制上传/下载带宽。操作步骤如下:
1024表示1MB/s);若需更精细化的进程级限速(如全局限制FileZilla的网络占用),可使用trickle工具(适用于动态链接的应用程序)。操作步骤如下:
sudo apt-get install trickle;ldd $(which filezilla) | grep libc.so,若输出包含libc.so(如libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6),则说明FileZilla支持Trickle;trickle -u 100 -d 50 filezilla;~/.bashrc或~/.zshrc):alias filezilla='trickle -u 100 -d 50 filezilla',然后执行source ~/.bashrc生效。若Ubuntu系统运行的是vsftpd(常用FTP服务器),可通过修改其配置文件限制客户端传输带宽。操作步骤如下:
sudo nano /etc/vsftpd.conf;local_max_rate参数(单位:字节/秒,如50000=50KB/s),例如local_max_rate=50000;anon_max_rate参数,例如anon_max_rate=30000(30KB/s);sudo systemctl restart vsftpd,设置立即生效。若需限制整个Ubuntu系统的网络带宽(影响所有应用),可使用tc命令(Linux内核原生流量控制工具)。操作步骤如下:
sudo apt-get install iproute2(Ubuntu默认已安装);sudo tc qdisc add dev eth0 root handle 1: htb(eth0为网络接口,可通过ip a查看);sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit;192.168.1.100的带宽为10Mbit):sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit;sudo iptables -t mangle -A OUTPUT -s 192.168.1.100 -j MARK --set-mark 10;sudo tc filter add dev eth0 parent 1: protocol ip prio 1 handle 10 fw flowid 1:10;sudo tc qdisc del dev eth0 root。trickle的参数单位为KB/s,vsftpd的参数单位为字节/秒(1KB/s=1024字节/秒),需注意换算。vsftpd)或客户端(如FileZilla)以使设置生效。