linux网络限速总结

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>第二版本是Git上的,这个版本是基于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"
            }
        }
    }
}

你可能感兴趣的:(python,linux)