1.用防火墙规则
yum install iptables-services(如果没有就要手动安装)
iptables -A OUTPUT -d 172.16.128.126-m limit --limit 35/s --limit-burst 40 -j ACCEPT(限制下行速度)
iptables -A OUTPUT -d 172.16.128.126-j DROP
service iptables save
iptables -L INPUT --line-number查看规则
iptables -D INPUT id清除规则
2.基于wondershaper(wondershaper其实是tc的一个封装,其中这个方法效果最好)
tc详细 https://www.ibm.com/developerworks/cn/linux/1412_xiehy_tc/index.html
说明wondershaper有两个版本
1>一个是用yum install wondershaper下载的版本,其中这个版本是基于cbq算法的
2>第二版本是GitHub上的,这个版本是基于htb算法写的
wondershaper ens160 -a eth0 -u 8192 -d 8192(ens160为网卡名,-u为上传的速度,-d为下载的速度)
wondershaper -c -a eth0(这个命令是清除配置,也就是不限速)
3.基于python的库tcconfig(也是基于tc的封装)
# tcset eth0 --delay 10ms --delay-distro 2 --loss 0.01% --rate 0.25Mbps --network 192.168.0.10 --port 8080
# tcset eth0 --delay 1ms --loss 0.02% --rate 500Kbps --direction incoming
# tcshow eth0
{
"eth0": {
"outgoing": {
"dst-network=192.168.0.10/32, dst-port=8080, protocol=ip": {
"filter_id": "800::800",
"delay": "10.0ms",
"delay-distro": "2.0ms",
"loss": "0.01%",
"rate": "250Kbps"
}
},
"incoming": {
"protocol=ip": {
"filter_id": "800::800",
"delay": "1.0ms",
"loss": "0.02%",
"rate": "500Kbps"
}
}
}
}