• 2657閱讀
  • 0回復

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

上一主題 下一主題
 
發帖
*
流金幣
*
歲月值
*
貢獻值
*
發文數
2
超激值
0
回應好評度
0
發文好評度
0
只看樓主 倒序閱讀 使用道具 0樓  發表于: 2011-10-03
N~0ih T G5  
小弟對 Linux 系統很喜愛 , 所以有一些研究 . 雖然市面上己經有很多硬體做的到頻寬管理 . 但基於Cost 的因素下 . 以下是使用 Linux 所提供的免費軟體來達到頻寬管理 . 希望大家會喜歡 . t3!OqM  
%ZcS"/gf  
dVk(R9 8  
Qos頻寬管理設定 (S4HU_,88  
W/3sJc9  
目前Linux提供的Qos頻寬管理套件為CBQ及HTB,此文件以CBQ為主。 @lq)L  
%NfXe[T  
cbq.init 是一個 Linux shell script file,它提供了一個簡便的設定環境,讓管理者不需操作繁雜的 tc (Traffic Control) 指令,只需專注在頻寬的規劃即可。 OwEu S#-  
5dhy80|g]  
取得 cbq.init:  +h Ks  
cbq.init SourceForge Page:http://sourceforge.net/projects/cbqinit PD^G$LT  
以 cbq.init-v0.7.3 為例: , @!X! L  
wget http://nchc.dl.sourceforge.net/sourceforge/cbqinit/cbq.init-v0.7.3 'oK o F  
mv cbq.init-v0.7.3 /sbin/cbq _Hd|y  
chmod 700 /sbin/cbq r{B28'f[  
mkdir /etc/sysconfig/cbq fs:yx'mxV  
下載 FC2 shapecfg-2.2.12-15.i386.rpm (安裝後可直接使用 /sbin/cbq, version: 0.7.1) WNZYs  
ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/2/i386/os/Fedora/RPMS/shapecfg-2.2.12-15.i386.rpm # E_S..  
4l{$dtKbI  
        (ps:此rpm for FC2,如果是FC3則可以試試shapecfg-2.0.36-4.i386.rpm) ?"^{:~\N  
ak-agH  
設定 Mna yiJl  
B`t/21J  
環境: WAN <--> eth0 [ Linux NAT / Server ] eth1 <--> LAN 1Q!kk5jE  
WAN 頻寬: 2M / 256K -Lq2K3JHyn  
設定檔路徑: /etc/sysconfig/cbq lT*@f39~g  
設定檔檔名規則: cbq-<0002>~<ffff>.<name> cly}[<w!  
------------------------------------------------------------------------------------------------------ rHM^_sYRb  
限制 LAN User 下載頻寬: '9=b@SaAj  
iptables -t mangle -A FORWARD -o eth1 -d 172.16.1.0/24 -j MARK --set-mark 10 c1r+?q$f  
vi /etc/sysconfig/cbq/cbq-0002.download & Zn`2%  
DEVICE=eth1,100Mbit,10Mbit jO/cdLKX(  
RATE=200Kbit ^^zj4 }On?  
WEIGHT=20Kbit al B'l  
PRIO=5 <f`n[QD2z  
MARK=10 0w: 3/WO  
------------------------------------------------------------------------------------------------------ q 7 <d|s  
限制 LAN User 上載頻寬: V2|By,.  
iptables -t mangle -A FORWARD -o eth0 -s 172.16.1.0/24 -j MARK --set-mark 20 F,A+O+  
vi /etc/sysconfig/cbq/cbq-0003.upload C/QmtT~`e  
DEVICE=eth0,100Mbit,10Mbit vcsSi%M\U  
RATE=50Kbit }O>4XFj  
WEIGHT=5Kbit 0}"\3EdAbD  
PRIO=5 )iM( \=1ff  
MARK=20 :8]8[  
------------------------------------------------------------------------------------------------------ [& Z- *a  
設定 HTTP Server 對外頻寬: mj&OZ+  
vi /etc/sysconfig/cbq/cbq-0080.http AorY#oq  
DEVICE=eth0,100Mbit,10Mbit ]jY^*o[  
RATE=180Kbit #0vda'q=j  
WEIGHT=18Kbit -EE'xh-zD  
PRIO=5 j RcE241  
RULE=:80, 3y+~l H :  
------------------------------------------------------------------------------------------------------ (~%NRH<\  
設定 SSH Daemon 對外頻寬:  ,vO\n^  
vi /etc/sysconfig/cbq/cbq-0022.ssh <R+?>kz6  
DEVICE=eth0,100Mbit,10Mbit &F/-%l!  
RATE=20Kbit wP*3Hx;S  
WEIGHT=5Kbit <i4]qO(0u  
PRIO=4 >~Xe` }'  
RULE=:22, )bR0 >3/  
------------------------------------------------------------------------------------------------------ 6%h%h: e  
基本參數: [*Ai@:F  
DEVICE=<ifname>,<bandwidth>[,<weight>] x.Egl4b3  
RATE=<speed> 'l=>H#}<B  
WEIGHT=<speed> NJ+$3n om  
PRIO=<1-8> $,J0) ~  
PARENT=<clsid> _"Z?O)d*  
MARK=<mark> h`n '{s  
RULE=[[saddr[/prefix]][:port[/mask]],][daddr[/prefix]][:port[/mask]] %8 D>aS U  
詳細設定參數說明可 less /sbin/cbq 或從瀏覽器直接連結 cbq.init source 查看. ;Ce?f=4  
執行 cbq.init: 39hep8+  
cbq start 即可 (如前述, 已將 cbq.init mv 為 /sbin/cbq) oH +PlL  
cbq stats 可查詢是否有封包通過設定好的條件, 以得知條件是否設定正確 :V5 Co!/+  
Usage: cbq {start | compile | stop | restart | timecheck | list | stats} N mXRA(m  
參考文件:http://cha.homeip.net/blog/archives/2005/07/cbqinit.html dq@ * 8ui  
如果有錯誤訊息產生則Log記錄在 /var/cache/cbq.init hRRxOr#*$  
}^0'IAXi  
可以由 tc qdisc show 指令Check設定是否生效。 cc*?4C/t  
]{q=9DczG(  
在 Download Webmin Module For CBQ 8'L:D  
http://sourceforge.net/projects/webmin-cbq
歲月值條評分
快槍阿華 回應好評度 +3 - 04-22
評價一下你瀏覽此帖子的感受

精彩

感動

搞笑

開心

憤怒