linux怎么对端口限速,【转】 LINUX中IPTABLES和TC对端口的带宽限制 端口限速

1.使用命令ifconfig查看服务器上的网卡信息,好比网卡eth0是用来对外的网络,也就是用户经过该网卡链接到系统,那么咱们就对这个网卡进行带宽的限制html

ifconfig

2.创建eth0队列bash

tc qdisc add dev eth0 root handle 1: htb default 20

命令解释:将一个htb队列绑定在eth0上,编号为1:0,默认归类是 20服务器

3.创建跟分类网络

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 3Mbit

命令解释:在队列1:0上建立根分类1:1 限速,类别htb,限速3Mbit工具

4.建立分类code

tc class add dev eth0 parent 1:1 classid 1:20 htb rate 2Mbit ceil 3Mbit

以根分类1:1为父类建立分类1:20 ,类别为htb 限速 1Mbit 最大3Mbit(htb可借用其它类带宽)htm

5.添加公平队列队列

tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10

命令解释:sfq是公平队列 ,防止一个会话占用所有带宽ip

6.建立分类过滤器it

tc filter add dev eth0 parent 1:20 protocol ip u32 match ip sport 8080 0xffff classid 1:20

命令解释:以分类1:20为父类建立编号为1:20的过滤器 ,加载u32模块,指定端口为8080

到此为止带宽就限制住了,最大带宽为3Mbit,也就是200多k的下载速度。

7.删除tc队列

tc qdisc del dev eth0 root

把创建好的队列删除,带宽再也不限制。

以上只是使用tc进行对带宽的限制,固然也能够结合iptables使用,那么以上的第六步就不太同样了

6.建立过滤器并制定handle

tc filter add dev em2 parent 1:0 protocol ip prio 1 handle 1000 fw classid 1:20

7.使用iptable对端口绑定tc队列

iptables -t mangle -I POSTROUTING -o eth0 -sport 8080 -j MARK --set-mark 1000

iptables -t mangle -I POSTROUTING -o eth0 -sport 8080 -j RETURN

以上就是iptables与tc结合的结果,这里限制的是端口,固然也能够制定某个目标ip只限制制定ip的带宽。

总结

这里提到限制的是带宽,并且下载根据链接数进行平均分配,对TC而言,限制200k的话,一个链接那速度就是200k,若是两个链接就变成100k一个,而iptables的话,若是一个链接占满了200k的带宽,那么第二个链接就直接被拒绝了。

最终若是只是想对应用系统的下载的全部链接每一个链接都限制在200k的下载速度的话,最好仍是应用服务器本身进行限制。

本文转载自:http://www.fullstacks.cn/archives/423

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值