在Ubuntu上限制FTP服务器带宽可使用以下方法:
通过vsftpd配置文件限制
编辑 /etc/vsftpd.conf,添加或修改以下参数(单位:字节/秒):
local_max_rate:限制本地用户带宽(如 local_max_rate=512000 限制为512KB/s)。anon_max_rate:限制匿名用户带宽(如 anon_max_rate=256000 限制为256KB/s)。sudo systemctl restart vsftpd。使用wondershaper工具
安装:sudo apt-get install wondershaper
限制带宽(如下载100KB/s、上传50KB/s,需替换为实际网络接口名):
sudo wondershaper eth0 100 50。
使用trickle工具
安装:sudo apt-get install trickle
通过启动脚本限制(以vsftpd为例):
编辑 /etc/init.d/vsftpd,在启动命令前添加 trickle -u 50 -d 100(上传50KB/s、下载100KB/s)。
使用tc工具(高级流量控制)
通过命令创建带宽限制规则(需指定网络接口和端口):
sudo tc qdisc add dev eth0 root handle 1: htb
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbit
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 21 0xffff flowid 1:1
(eth0 为网络接口,21 为FTP默认端口)。
注意:部分方法(如tc)需root权限,且重启后可能失效,建议将配置写入启动脚本。根据实际需求选择工具,优先使用vsftpd原生配置或wondershaper简化操作。