小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

基于CBQ的流量控制

 womking 2007-06-11
基于CBQ的流量控制

參考了cu的很多文檔,沿著前輩的腳印,整理了一篇自己的配置記錄。在實(shí)際使用過程中效果良好,局域網(wǎng)規(guī)模不是很大40多臺(tái)機(jī)器。 
內(nèi)網(wǎng):eth0 
外網(wǎng):eth2 
NAT共享上網(wǎng) 

CBQ是通過硬件的閑置時(shí)間來計(jì)算隊(duì)列,硬件不同,效果也不同,對(duì)于比較大的網(wǎng)絡(luò)使用HTB比較好。以下限制上傳和下載的方法可以寫成腳本,通過mrtg發(fā)現(xiàn)流量的異常情況,然后通過ntop查處是誰在干壞事,最后用寫好的tc腳本限制他的流量,避免影響其他人的網(wǎng)絡(luò)使用。 

其基本使用步驟為:  
1) 針對(duì)網(wǎng)絡(luò)物理設(shè)備(如以太網(wǎng)卡eth0)綁定一個(gè)CBQ隊(duì)列 
2) 在該隊(duì)列上建立分類 
3) 為每一分類建立一個(gè)基于路由的過濾器 
4) 最后與過濾器相配合,建立特定的路由表 

[color=red:7ae1fe0779]限制下載[/color:7ae1fe0779] 
#將一個(gè)cbq隊(duì)列綁定到網(wǎng)絡(luò)物理設(shè)備eth0上,其編號(hào)為1:0;網(wǎng)絡(luò)物理設(shè)備eth0的實(shí)際帶寬為10Mbit,包的平均大小為1000字節(jié);包間隔發(fā)送單元的大小為8字節(jié),最小傳輸包大小為64字節(jié)。 
/sbin/tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit avpkt 1000 cell 8 mpu 64 

#創(chuàng)建根分類1:1;分配帶寬為10Mbit,優(yōu)先級(jí)別為1。該隊(duì)列的最大可用帶寬為10Mbit,實(shí)際分配的帶寬為10Mbit,可接收沖突的發(fā)送最長包數(shù)目為20字節(jié);最大傳輸單元加MAC頭的大小為1514字節(jié),優(yōu)先級(jí)別為1,包的平均大小為1000字節(jié),包間隔發(fā)送單元的大小為8字節(jié),相應(yīng)于實(shí)際帶寬的加權(quán)速率為1Mbit。 
/sbin/tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 10Mbit rate 10Mbit maxburst 20 allot 1514 prio 1 avpkt 1000 cell 8 weight 1Mbit 

#創(chuàng)建分類1:2,其父分類為1:1,分配帶寬為64Kbit,優(yōu)先級(jí)別為8。該隊(duì)列的最大可用帶寬為10Mbit,實(shí)際分配的帶寬為64Kbit,可接收沖突的發(fā)送最長包數(shù)目為20字節(jié);最大傳輸單元加MAC頭的大小為1514字節(jié),優(yōu)先級(jí)別為8,包的平均大小為1000字節(jié),包間隔發(fā)送單元的大小為8字節(jié),相應(yīng)于實(shí)際帶寬的加權(quán)速率為100Kbit,且不可借用未使用帶寬。 
/sbin/tc class add dev eth0 parent 1:1 classid 1:2 cbq bandwidth 10Mbit rate 64Kbit maxburst 20 allot 1514 prio 8 avpkt 1000 cell 8 weight 100Kbit bounded 

#創(chuàng)建分類1:3,其父分類為1:1,分配帶寬為64Kbit,優(yōu)先級(jí)別為9。該隊(duì)列的最大可用帶寬為10Mbit,實(shí)際分配的帶寬為64Kbit,可接收沖突的發(fā)送最長包數(shù)目為20字節(jié);最大傳輸單元加MAC頭的大小為1514字節(jié),優(yōu)先級(jí)別為9,包的平均大小為1000字節(jié),包間隔發(fā)送單元的大小為8字節(jié),相應(yīng)于實(shí)際帶寬的加權(quán)速率為100Kbit,且不可借用未使用帶寬。 
/sbin/tc class add dev eth0 parent 1:1 classid 1:3 cbq bandwidth 10Mbit rate 64Kbit maxburst 20 allot 1514 prio 9 avpkt 1000 cell 8 weight 100Kbit bounded 

#在分類底下,創(chuàng)建隊(duì)列,使用sfq隨即公平隊(duì)列 
/sbin/tc qdisc add dev eth0 parent 1:2 sfq quantum 1514b perturb 15 
/sbin/tc qdisc add dev eth0 parent 1:3 sfq quantum 1514b perturb 15 

#這句是限制內(nèi)網(wǎng)從本服務(wù)器下載,這里不需要??!只作為參考??! 
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip src 192.111.1.8 flowid 1:2 

#限制各ip地址的下載帶寬,使用u32過濾器,對(duì)目的地址進(jìn)行分類,對(duì)應(yīng)已經(jīng)創(chuàng)建的隊(duì)列 
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.111.1.116 flowid 1:2 
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.111.1.66 flowid 1:3 

#需要添加新的被限制ip的下載帶寬,需要先要?jiǎng)?chuàng)建新的分類(比如1:4),然后根據(jù)新的分類創(chuàng)建新的sfq隊(duì)列,最后使用u32過濾器對(duì)目的地址進(jìn)行帶寬限制。 
需要對(duì)幾個(gè)ip限制下載帶寬,就需要?jiǎng)?chuàng)建幾個(gè)分類、隊(duì)列、過濾器 

[color=red:7ae1fe0779]限制上傳[/color:7ae1fe0779] 
#將一個(gè)cbq隊(duì)列綁定到網(wǎng)絡(luò)物理設(shè)備eth2上,其編號(hào)為2:0;網(wǎng)絡(luò)物理設(shè)備eth2的實(shí)際帶寬為2Mbit,包的平均大小為1000字節(jié);包間隔發(fā)送單元的大小為8字節(jié),最小傳輸包大小為64字節(jié)。 
/sbin/tc qdisc add dev eth2 root handle 2: cbq bandwidth 2Mbit avpkt 1000 cell 8 mpu 64 

#創(chuàng)建根分類2:1;分配帶寬為2Mbit,優(yōu)先級(jí)別為1。該隊(duì)列的最大可用帶寬為2Mbit,實(shí)際分配的帶寬為2Mbit,可接收沖突的發(fā)送最長包數(shù)目為20字節(jié);最大傳輸單元加MAC頭的大小為1514字節(jié),優(yōu)先級(jí)別為1,包的平均大小為1000字節(jié),包間隔發(fā)送單元的大小為8字節(jié),相應(yīng)于實(shí)際帶寬的加權(quán)速率為200Kbit。 
/sbin/tc class add dev eth2 parent 2:0 classid 2:1 cbq bandwidth 2Mbit rate 2Mbit maxburst 20 allot 1514 prio 1 avpkt 1000 cell 8 weight 200Kbit 

#創(chuàng)建分類2:2,其父分類為2:1,分配帶寬為64Kbit,優(yōu)先級(jí)別為8。該隊(duì)列的最大可用帶寬為2Mbit,實(shí)際分配的帶寬為64Kbit,可接收沖突的發(fā)送最長包數(shù)目為20字節(jié);最大傳輸單元加MAC頭的大小為1514字節(jié),優(yōu)先級(jí)別為8,包的平均大小為1000字節(jié),包間隔發(fā)送單元的大小為8字節(jié),相應(yīng)于實(shí)際帶寬的加權(quán)速率為100Kbit,且不可借用未使用帶寬。 
/sbin/tc class add dev eth2 parent 2:1 classid 2:2 cbq bandwidth 2Mbit rate 64Kbit maxburst 20 allot 1514 prio 8 avpkt 1000 cell 8 weight 200Kbit bounded 

#在分類底下,創(chuàng)建隊(duì)列,使用sfq隨即公平隊(duì)列 
/sbin/tc qdisc add dev eth2 parent 2:2 sfq quantum 1514b perturb 15 

#應(yīng)用路由分類器到cbq隊(duì)列的根,過濾協(xié)議為ip,優(yōu)先級(jí)為100 
/sbin/tc filter add dev eth2 parent 2:0 protocol ip prio 1 handle 2 fw classid 2:2 

#給數(shù)據(jù)包打標(biāo)簽,可以通過RETURN方法避免遍歷所有的規(guī)則,加快處理速度 
/sbin/iptables –t mangle –A PREROUTING –i eth0 –s 192.111.1.xxx –j MARK --set-mark 2 
/sbin/iptables –t mangle –A PREROUTING –i eth0 –s 192.111.1.xxx –j RETURN 

#nat(參考) 
/sbin/iptables -t nat -A POSTROUTING -s 192.111.1.0/24 -o eth2 -j SNAT --to 外網(wǎng)IP 

#需要添加新的被限制ip的上傳帶寬,需要先要?jiǎng)?chuàng)建新的分類(比如2:3),然后根據(jù)新的分類創(chuàng)建新的sfq隊(duì)列,最后使用路由過濾器,過濾協(xié)議為ip,給原地址是需要限制的ip地址來的數(shù)據(jù)包打標(biāo)記。 
需要對(duì)幾個(gè)ip限制下載帶寬,就需要?jiǎng)?chuàng)建幾個(gè)分類、隊(duì)列、路由過濾器、iptable的mangle表的PREROUTING鏈 

另外還有其他的過濾器比如: 
tc filter add dev eth0 parent 1:0 protocol ip prio 100 route to 2 flowid 1:2 
ip route add 192.111.1.24 dev eth0 via 192.111.1.4 realm 2 

[color=red:7ae1fe0779]維護(hù)[/color:7ae1fe0779] 
主要包括對(duì)隊(duì)列、分類、過濾器和路由的增添、修改和刪除。  
增添動(dòng)作一般依照"隊(duì)列->分類->過濾器->路由"的順序進(jìn)行;修改動(dòng)作則沒有什么要求;刪除則依照"路由->過濾器->分類->隊(duì)列"的順序進(jìn)行。 
#簡單顯示指定設(shè)備的隊(duì)列狀況 
/sbin/tc qdisc ls dev eth0 

#詳細(xì)顯示指定設(shè)備的隊(duì)列狀況 
/sbin/tc –s qdisc ls dev eth0 

#簡單顯示指定設(shè)備的分類狀況 
/sbin/tc class ls dev eth0 

#詳細(xì)顯示指定設(shè)備的分類狀況 
/sbin/tc –s class ls dev eth0 

#顯示過濾器的狀況 
/sbin/tc –s filter ls dev eth0 

#隊(duì)列的維護(hù)  
一般對(duì)于一臺(tái)流量控制器來說,出廠時(shí)針對(duì)每個(gè)以太網(wǎng)卡均已配置好一個(gè)隊(duì)列了,通常情況下對(duì)隊(duì)列無需進(jìn)行增添、修改和刪除動(dòng)作了。 

#分類的維護(hù)  
增添  
增添動(dòng)作通過tc class add命令實(shí)現(xiàn)。 
修改  
修改動(dòng)作通過tc class change命令實(shí)現(xiàn),如下所示: 
/sbin/tc class change dev eth0 parent 1:1 classid 1:2 cbq bandwidth 10Mbit rate 64Kbit maxburst 20 allot 1514 prio 8 avpkt 1000 cell 8 weight 100Kbit bounded 
對(duì)于bounded命令應(yīng)慎用,一旦添加后就進(jìn)行修改,只可通過刪除后再添加來實(shí)現(xiàn)。 

#過濾器的維護(hù) 
增添 
增添動(dòng)作通過tc filter add命令實(shí)現(xiàn)。 
修改 
修改動(dòng)作通過tc filter change命令實(shí)現(xiàn),如下所示: 
/sbin/tc filter change dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.111.1.116 flowid 1:2 
刪除 
刪除動(dòng)作通過tc filter del命令實(shí)現(xiàn),如下所示: 
/sbin/tc filter del dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.111.1.116 flowid 1:2

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多