|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
常用的linux命令,尤其是一些能帮你提高开发效率的命令,(eg:grep,awk,sed,split等);
在服务器的eth0帮定了内部地点eth0:192.168.1.223
eth1帮定了外部地点eth1:1192.168.2.1
如今要完成的功效就是全部出口限定在512kbit(上传流量),192.168.2网段的下载流量下载到512Kbit。
办法以下:
起首帮定响应的地点:(不细述)
完成路由设定,利用iptables完成。
iptablesCAinput-F
iptables-Aoutput-F
iptables-Aforward-F
echo1>/proc/sys/net/ipv4/ip_forward
#同意转发
iptables-AinputCjaccept
iptables-Aoutput-jaccept
iptables-Aforward-jaccept
iptables-tnat-APOSTROUTING-s192.168.2.0/24-jMASQUERADE
#举行IP地点假装,使得外部的主机的数据包能经由过程服务器与外界接洽。
举行流量办理
tcqdiscadddeveth0roottbfrate512klantency50msburst1540
#在网卡eth0上利用tbf(TokenBucketFilter)过滤行列,将出口限定在512kbit,提早50ms,突发数据1540,rate指定的数值就是限定的带宽。
持续在eth1做限定。
tcqdiscadddeveth1roothandle1:0cbqbandwidth100Mbitavpkt1000cell8
#创立行列,指明网卡为100M网卡,这个跟流量限定有关,用于盘算利用。
tcclassadddeveth1parent1:0classid1:1cbqbandwidth100Mbitrate5Mbitweight6Mbitprio8allot1514cell8maxburst20avpkt1000bounded
#创立根分类,带脱期制在5Mbit,而且不同意借用其余带宽。Prio前面的参数为优先级,指定命据包处置的按次。
tcclassadddeveth1parent1:1classid1:3cbqbandwidth100Mbitrate512kbitweight5Mbitprio5allot1514cell8maxburst20avpkt1000bounded
#在跟类底下,创立分类1:3限定带宽为512kbit,不同意借用带宽,用于192.168.2网段。
tcqdiscadddeveth1parent1:3handle30:sfq
#在每一个分类底下,创立行列,利用sfq(StochasticFarenessQueueing)随即公允行列。
tcfilteradddeveth1parent1:0protocolipprio1u32matchipdst172.17.0.0/16flowid1:3
#利用u32过滤器,对目标地点举行分类,对应已创立的行列。
经由过程以上体例完成了复杂的流量把持,限定出口的上传流量和内口的下载流量。
测试从192.168.2.20举行下载限定的是512kbit,下载速度为64-65kB
测试从192.168.2.20举行下载限定的是128kbit,下载速度为14-16kB
注:不婚配任何划定规矩的数据包,将已root设定的划定规矩发送
</p>
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。 |
|