• 2645閱讀
  • 0回復

[原創]Linux - Qos頻寬管理設定 [復制鏈接]

上一主題 下一主題
 
發帖
*
流金幣
*
歲月值
*
貢獻值
*
發文數
2
超激值
0
回應好評度
0
發文好評度
0
只看樓主 倒序閱讀 使用道具 0樓  發表于: 2011-10-03
h#p1wK;N  
小弟對 Linux 系統很喜愛 , 所以有一些研究 . 雖然市面上己經有很多硬體做的到頻寬管理 . 但基於Cost 的因素下 . 以下是使用 Linux 所提供的免費軟體來達到頻寬管理 . 希望大家會喜歡 .  gB\ a  
@WuB&uF=d  
q#W7.8 Z@  
Qos頻寬管理設定 K<`"Sr  
_SS6@`X  
目前Linux提供的Qos頻寬管理套件為CBQ及HTB,此文件以CBQ為主。 i Rwqt-WZ  
>icK]W  
cbq.init 是一個 Linux shell script file,它提供了一個簡便的設定環境,讓管理者不需操作繁雜的 tc (Traffic Control) 指令,只需專注在頻寬的規劃即可。 ?kvc`7>  
4%5H<:V7  
取得 cbq.init: ]@@3]  
cbq.init SourceForge Page:http://sourceforge.net/projects/cbqinit enu",wC3  
以 cbq.init-v0.7.3 為例: 23a&m04Rk  
wget http://nchc.dl.sourceforge.net/sourceforge/cbqinit/cbq.init-v0.7.3 UnjUA!v  
mv cbq.init-v0.7.3 /sbin/cbq 7X|M\WUq  
chmod 700 /sbin/cbq c" mRMDg%  
mkdir /etc/sysconfig/cbq -QaS/WO_  
下載 FC2 shapecfg-2.2.12-15.i386.rpm (安裝後可直接使用 /sbin/cbq, version: 0.7.1) ^%|(dMo4  
ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/2/i386/os/Fedora/RPMS/shapecfg-2.2.12-15.i386.rpm ;D5B$ @W>  
J('p'SlI  
        (ps:此rpm for FC2,如果是FC3則可以試試shapecfg-2.0.36-4.i386.rpm) #^IEQZgH  
E%L]ifA9!  
設定 /?b<}am  
*.ffyBI*~  
環境: WAN <--> eth0 [ Linux NAT / Server ] eth1 <--> LAN a8fLj  
WAN 頻寬: 2M / 256K V+A1O k )  
設定檔路徑: /etc/sysconfig/cbq .F=15A  
設定檔檔名規則: cbq-<0002>~<ffff>.<name> VN=S&iBa/  
------------------------------------------------------------------------------------------------------ hM*T{|y  
限制 LAN User 下載頻寬: Y4PU~ l  
iptables -t mangle -A FORWARD -o eth1 -d 172.16.1.0/24 -j MARK --set-mark 10 @21G[!%J  
vi /etc/sysconfig/cbq/cbq-0002.download ,"/<N*vh  
DEVICE=eth1,100Mbit,10Mbit IyE9G:fY  
RATE=200Kbit 9gMNS6D'b  
WEIGHT=20Kbit w+vYD2 a  
PRIO=5 l\l\T<wa,  
MARK=10 z_XI,u}  
------------------------------------------------------------------------------------------------------ m4:b?[   
限制 LAN User 上載頻寬: f#xqu +)Z  
iptables -t mangle -A FORWARD -o eth0 -s 172.16.1.0/24 -j MARK --set-mark 20  G6X  
vi /etc/sysconfig/cbq/cbq-0003.upload 2fc8w 3  
DEVICE=eth0,100Mbit,10Mbit =Ewa}$-  
RATE=50Kbit c9e  }P  
WEIGHT=5Kbit 7S<Z&1(  
PRIO=5 ^0t81,`  
MARK=20 /wIev1Z!Y  
------------------------------------------------------------------------------------------------------ 54 8w v  
設定 HTTP Server 對外頻寬: % ~%>3  
vi /etc/sysconfig/cbq/cbq-0080.http C._I\:G^  
DEVICE=eth0,100Mbit,10Mbit -CW$p=y}  
RATE=180Kbit Z+"%MkX0  
WEIGHT=18Kbit p-U'5<n  
PRIO=5 mea]m)P  
RULE=:80, 7Kx3G{5ja  
------------------------------------------------------------------------------------------------------ ^=)? a;V  
設定 SSH Daemon 對外頻寬: >M7e'}0 ;  
vi /etc/sysconfig/cbq/cbq-0022.ssh SZ}t_w `  
DEVICE=eth0,100Mbit,10Mbit 9.5h QZ  
RATE=20Kbit E&k{ubcT  
WEIGHT=5Kbit B^(0>Da\  
PRIO=4 >iP>v`J  
RULE=:22, rnxO2   
------------------------------------------------------------------------------------------------------ ?5m[Qc (<  
基本參數: -0| '{  
DEVICE=<ifname>,<bandwidth>[,<weight>] e=nExY  
RATE=<speed> A0*u(15%  
WEIGHT=<speed> ~Ra1Zc$o:  
PRIO=<1-8> _96hw8  
PARENT=<clsid> gM|X":j  
MARK=<mark> L4SvE^2+  
RULE=[[saddr[/prefix]][:port[/mask]],][daddr[/prefix]][:port[/mask]] |N[SCk>Kj  
詳細設定參數說明可 less /sbin/cbq 或從瀏覽器直接連結 cbq.init source 查看. %^RlE@l9  
執行 cbq.init: bA#E8dlC_  
cbq start 即可 (如前述, 已將 cbq.init mv 為 /sbin/cbq) 1 sCF -r  
cbq stats 可查詢是否有封包通過設定好的條件, 以得知條件是否設定正確 ;(3fr0 cr:  
Usage: cbq {start | compile | stop | restart | timecheck | list | stats} 5 Am*1S^  
參考文件:http://cha.homeip.net/blog/archives/2005/07/cbqinit.html hB:R8Y^?H  
如果有錯誤訊息產生則Log記錄在 /var/cache/cbq.init Q!> 8E4Z  
g5TXs^g  
可以由 tc qdisc show 指令Check設定是否生效。 _:om(gL  
(JC -4X_  
在 Download Webmin Module For CBQ XQ:HH 8  
http://sourceforge.net/projects/webmin-cbq
歲月值條評分
快槍阿華 回應好評度 +3 - 04-22
評價一下你瀏覽此帖子的感受

精彩

感動

搞笑

開心

憤怒