TC限速脚本
学习了TC的限速,具体知识可以参考LINUX高级流量管理HOWTO中文版
采用HTB比CBQ要好。
jiangdaoyou的文章中是通过在2个网卡上限速 注:因为TC只能限制发送数据包,所以下载在内网卡上进行,而上传在外网卡上进行控制。
使用后发现对内网网卡限速后有副作用,导致依赖内网网卡的其他服务都非常缓慢,如samba,ftp。
故改用第2个脚本
并结合我的实际情况加入vip不限速的功能
业务需求:保证正常的网页浏览,FTP,SMTP,POP3,对其它的所有应用加以限制,以免影响正常业务的使用。
1、让交互数据包保持较低的延迟时间,也就是说上载或下载文件不会打扰SSH/telnet等。 2、上载或下载期间有合理的速率用于网页浏览,即使http属于一种大量数据传输,也不应受其它传输影响太大 3、对FTP-data限速,不会占用所有带宽 4、对SMTP,pop3限速 5、对未分类的进行限制,以免影响 6、保证上载不会影响下载,上载数据流会影响下载的速率,这是相当普遍的现象。 7、对每个IP的下载速率进行限制 8、取得空闲带宽的优先级别如:交互数据,FTP-data,smtp,pop3;网页浏览,其它业务优先级别最低 关于注释,脚本里面写的很详细了,就不多解释了。
只写一下自己添加的功能,vip限速
上面的脚本是对全局用户限速的。如果有少数用户不希望被限速,比如自己。嘿嘿。则添加自己的ip到vip用户中。
采用U32匹配。
tc filter add dev #DEV parent ffff: protocol ip prio 3 u32 match ip dst $VIP1 police rate 3000kbit burst 10k drop flowid :1
这样$VIP1的带宽就加大到3000kbit了。3000可以根据自己的线路自行调整。
最后把脚本放在附件里面。大家可以学习。
本文出自 51CTO.COM技术博客 |
![](http://image4.360doc.com/DownloadImg/2009/3/24/120529_2900344_2.gif)