[RouterOS] ROS对接碧海威或PA等流控实现完美流控详细教程(附脚本全免费)
前言:
經(jīng)常在群里看到不少朋友爭(zhēng)論海蜘蛛?ROS?維盟?愛(ài)快 碧海威 流控大師 Woyos等等軟路由,哪個(gè)好。
實(shí)際上,網(wǎng)絡(luò)產(chǎn)品是復(fù)雜的,現(xiàn)在的軟路由功能上已經(jīng)遠(yuǎn)遠(yuǎn)不是單獨(dú)的路由了。每種產(chǎn)品都有他本身的優(yōu)點(diǎn)和缺點(diǎn),產(chǎn)品定位,適應(yīng)人群,談不上非得分出個(gè)高低好壞來(lái)。所以本文中的一些觀點(diǎn),如果帶有一些偏向性的話,大家請(qǐng)勿糾結(jié)。因?yàn)槊總€(gè)人都會(huì)對(duì)自己用的產(chǎn)品有種擁護(hù)情節(jié),難免會(huì)有失公平。
當(dāng)然這里主要講的肯定還是RouterOS。本人是5年前接觸ROS的,在這之前燒過(guò)不少路由器,各種洋垃圾,高端旗艦無(wú)線路由器都買過(guò),刷tomato,刷DD-wrt,刷Openwrt。常年混跡于恩山,Anywlan。最終,當(dāng)我接觸到ROS以后,我開始退燒了。所以借此文章,我也勸告一下那些,還在追求高配置追求旗艦無(wú)線路由器的朋友們。來(lái)學(xué)著玩玩ROS吧,你會(huì)發(fā)現(xiàn),你要的東西這里都有,而且永遠(yuǎn)不必再追著廠商的新產(chǎn)品跑。
首先我來(lái)談?wù)凴OS的優(yōu)點(diǎn),CCIE1691崔北亮對(duì)ROS的評(píng)價(jià)一針見(jiàn)血。 相對(duì)于傳統(tǒng)的思科華為硬件產(chǎn)品來(lái)說(shuō),ROS的優(yōu)點(diǎn)就是便宜,甚至可以說(shuō)免費(fèi)。但是性能卻不弱,高配置的ROS完全可以達(dá)到企業(yè)級(jí)的應(yīng)用。 另外,ROS的路由功能非常全面?;旧掀綍r(shí)能接觸到的情況,ROS都能有相應(yīng)的解決方案。 例如針對(duì)外網(wǎng)就有:多線路負(fù)載均衡,不同ISP策略路由,大小不同的帶寬的疊加,單線多撥,IPIP??PPTP借線。內(nèi)網(wǎng)有:Bridge,交換,多網(wǎng)關(guān),802.1Q VLAN,PPPOE-SERVER,HOTSPOT認(rèn)證,WIFI等等。此外還有單臂路由充當(dāng)3層 Bridge nat偽裝MAC??VPN服務(wù)??強(qiáng)大的firwall,filter,靈活的mangle,還有高效的PCQ+HTB。??同時(shí)Mikrotik團(tuán)隊(duì),針對(duì)新硬件的優(yōu)化時(shí)時(shí)的更新著ROS,幾乎每個(gè)月都會(huì)有一個(gè)新版本推出。 所以單就路由功能上面,豪不夸張的說(shuō),ROS就是軟路由業(yè)界的標(biāo)桿!其它的產(chǎn)品,想從功能上,穩(wěn)定性,效率上面超過(guò)ROS,真的相當(dāng)困難。當(dāng)然這僅僅是路由功能上來(lái)說(shuō)。
好了,再來(lái)講講ROS的缺點(diǎn)。
縱觀ROS論壇,哪些話題是最受關(guān)注的?那就是教程和腳本。 ROS確實(shí)相比其它的產(chǎn)品來(lái)說(shuō)上手難度有點(diǎn)大,需要有一定的網(wǎng)絡(luò)基礎(chǔ),甚至玩的高深了還要一定的編程技巧。但學(xué)習(xí)成本比較高的另一個(gè)好處也有,那就是學(xué)會(huì)的人不會(huì)輕易更換陣地,呵呵。用戶忠誠(chéng)度很高。
除了教程外,基本上很多人都在找ROS的腳本。。這就是我今天要講的,也是ROS的最大缺點(diǎn):流控!
基于單機(jī)(單IP)的簡(jiǎn)單的流量分配,實(shí)際上沒(méi)有任何意義,造成帶寬浪費(fèi)不說(shuō)。對(duì)單機(jī),不同應(yīng)用間,也起不到流控的效果(你一邊迅雷一邊游戲,無(wú)法實(shí)現(xiàn))。
如果我要說(shuō)ROS的限速功能差,肯定會(huì)有很多人噴我,實(shí)際上ROS的PCQ+HTB,對(duì)數(shù)包的處理是相當(dāng)科學(xué)和高效的(國(guó)內(nèi)有不少產(chǎn)品模仿)。所以我指的流控差,準(zhǔn)確一點(diǎn)說(shuō) :就是數(shù)據(jù)識(shí)別。也就是ROS中的標(biāo)記!??一切非基于應(yīng)用層的標(biāo)記,都是不準(zhǔn)確的。例如80口一般是HTTP網(wǎng)頁(yè),但迅雷一樣會(huì)占用80端下載,QQ也會(huì)用80口做VIP登陸口。 你將80口,標(biāo)記為HTTP,那么迅雷一樣會(huì)通過(guò)這個(gè)端口逃出去。 例如LOL采用的是P2P傳輸技術(shù),如果你為了壓制P2P,將P2P特征的數(shù)據(jù)流壓制了,LOL就會(huì)卡。。這就為什么很多人說(shuō),采用了XXX的腳本,LOL很卡,怎么辦?
總之換作通俗一點(diǎn)的說(shuō)法就是: ROS抓壞蛋很歷害,手段也很高效。但是ROS卻無(wú)法分辨出來(lái)哪些是壞蛋!
ROS的mangle功能無(wú)比強(qiáng)大,只要你想的到,他都能做的到。你想將一個(gè)應(yīng)用完美的標(biāo)記出來(lái),完全可能,抓包做L7,結(jié)合其它的如包大小,目標(biāo)地址,源地址,端口,基本上都能做到數(shù)據(jù)識(shí)別。
但是請(qǐng)看下面這張圖:
<ignore_js_op>?
這里羅列了,將近1720種網(wǎng)絡(luò)應(yīng)用。請(qǐng)問(wèn)現(xiàn)成的,ROS腳本,有哪一個(gè)腳本可以準(zhǔn)確的將以上1720種應(yīng)用,完美的標(biāo)記出來(lái)?不是說(shuō)ROS做不到,而是我們標(biāo)的人做不到。一是應(yīng)用太多,標(biāo)不全,二是應(yīng)用更新太快,你今天抓包制作好了L7了,明天QQ和迅雷更新,新版本了,又識(shí)別不到了。所以網(wǎng)上的各種腳本,基本上都是針對(duì)自己的使用情況,簡(jiǎn)化標(biāo)記的。例如公司用的不會(huì)標(biāo)記游戲,網(wǎng)吧的也只標(biāo)記了自己網(wǎng)吧里現(xiàn)成有的游戲,而我如果只要股票和網(wǎng)頁(yè)快就行了,別的都不需要。 或者新出來(lái)一個(gè)游戲,就沒(méi)辦法識(shí)別。所以很多時(shí)候,往往你運(yùn)行的很好的ROS腳本,給別人用了,人家覺(jué)得效果很差。
最終得出一個(gè)結(jié)論,就是ROS的限速不好。雖然這并不是真實(shí)反應(yīng)了ROS的實(shí)力,但是卻是真真切切帶給人們的觀念就是,ROS限速太難,ROS限速不好,大家苦苦的找尋各種神本, 實(shí)際上就是為了,找尋ROS準(zhǔn)確的標(biāo)記。
那么本文的中心點(diǎn),就是: 標(biāo)記! 解決好了標(biāo)記!ROS就能相當(dāng)完美的流控。
我采用的方法很簡(jiǎn)單,大家先來(lái)看2張圖:
<ignore_js_op>?
這是我模擬的4M的使用環(huán)境,我將迅雷所在的P2P標(biāo)記在 第四類 DSCP4里面。限制了3M的速度的運(yùn)行結(jié)果!
迅雷非常準(zhǔn)確的,得到了3M的帶寬,沒(méi)有超過(guò)設(shè)定值,也沒(méi)有跑到別的分類中。證明標(biāo)識(shí)非常準(zhǔn)確。
<ignore_js_op>?
這是我在迅雷的同時(shí),打開網(wǎng)頁(yè)時(shí)的效果。流量瞬間被調(diào)整給了優(yōu)先級(jí)更高的HTTP網(wǎng)頁(yè),即,我分類中的第二類DSCP2。
網(wǎng)頁(yè)順利打開,證明對(duì)HTTP和迅雷的標(biāo)記都非常準(zhǔn)確,而且PCQ+HTB的優(yōu)先級(jí)調(diào)配,工作良好,反應(yīng)迅速。
那我是怎么做的呢? 實(shí)際上,我在ROS上的設(shè)置相當(dāng)簡(jiǎn)單。 只標(biāo)記了5個(gè)類目
<ignore_js_op>?
我將數(shù)據(jù)包的DSCP值為1 的標(biāo)記成 DSCP1 代表了 DNS小包優(yōu)先,游戲
DSCP值為2的標(biāo)記,標(biāo)成了DSCP2,代表了HTTP網(wǎng)頁(yè)和即時(shí)通信等
DSCP值為3的標(biāo)記,標(biāo)成了DSCP3,代表了HTTP文件下載,系統(tǒng)更新,QQ傳文件等
DSCP值為4的標(biāo)記,標(biāo)記了DSCP4,代表了所有的P2P下載和網(wǎng)絡(luò)電視
其它未識(shí)別的,默認(rèn)DSCP的值都為0,統(tǒng)一標(biāo)記了DSCP0。
然后就是上例中迅雷下載的圖中的,PCQ+HTB隊(duì)列,對(duì)這5類數(shù)據(jù)進(jìn)行了優(yōu)先級(jí)調(diào)配。
那么這些數(shù)據(jù)包的DSCP值,是誰(shuí)提供的呢? 這就是本文標(biāo)題中,提到的PA 或 碧海威,之類流控軟件的輔助的結(jié)果。
ROS不是標(biāo)記不準(zhǔn)嗎?大家求的各種神本,為的就是清楚無(wú)誤的標(biāo)記嗎? 實(shí)際上,求人不如求流控軟件。 眾所周知,所有的流控軟件的核心技術(shù)
就是他們背后制作數(shù)據(jù)包識(shí)別的團(tuán)隊(duì),他們時(shí)時(shí)刻刻的,在更新識(shí)別庫(kù)(類似于病毒庫(kù)一樣),有了這個(gè)庫(kù),他們的流控軟件就可以準(zhǔn)確的將各種
網(wǎng)絡(luò)應(yīng)用,在應(yīng)用層就識(shí)別出來(lái)。
我們要做的就是,在碧海威中,將所有經(jīng)過(guò)的數(shù)據(jù),按種類不同,打上不同的DSCP值的標(biāo)簽。然后交給ROS處理就可以了。
安裝碧海威或PA的,網(wǎng)橋版是需要至少3塊網(wǎng)卡的, 其中1塊是管理口,跟你管理的主機(jī),接在同一個(gè)2層交換機(jī)上面即可。
其它的2塊網(wǎng)卡,就像一條網(wǎng)線的2個(gè)頭子一樣。。串在 ROS的內(nèi)網(wǎng)口LAN,和你的內(nèi)網(wǎng)交換機(jī),中間即可。
換句話說(shuō),你就當(dāng)碧海威 就是一條網(wǎng)線一樣,存在于網(wǎng)絡(luò)當(dāng)中。。 一頭接著ROS的內(nèi)網(wǎng)口,一頭接著內(nèi)網(wǎng)交換機(jī),即可。
實(shí)際操作如下:
下載碧海威的ISO文件,刻盤,或?qū)懭險(xiǎn)盤,啟動(dòng)安裝。 碧海威的硬件條件,除3塊網(wǎng)卡外,其它的跟ROS相仿即可。
安裝過(guò)程就不詳細(xì)說(shuō)了,官網(wǎng)都有介紹。實(shí)際上,啟動(dòng)好以后,輸入帳號(hào)root和密碼root,輸入setup,按1,選擇硬盤。一路按Y,就完成了
然后輸入reboot,重啟后就能進(jìn)入碧海威系統(tǒng),然后按3,選擇一塊管理口,給他一個(gè)IP地址。例如你的本機(jī)是192.168.1.2 那你就輸192.168.1.3/24
然后你在本機(jī)的IE上面,輸入192.168.1.3,就可以訪問(wèn)碧海威了。
安裝完以后,首先要做的事情是網(wǎng)口設(shè)置。本例中我有8塊網(wǎng)口,最后一塊,做了管理口,1-6,做了3對(duì)網(wǎng)橋。。第7個(gè)口空著。
如果你是3塊網(wǎng)卡,那就是,1進(jìn)1出 1管理。。也就是說(shuō),整個(gè)系統(tǒng)中只有一對(duì)網(wǎng)橋。
<ignore_js_op>?
設(shè)置網(wǎng)口的小技巧,就是先把網(wǎng)線拔了,顯示斷開的那個(gè)口就是你要操作的口,這樣設(shè)置內(nèi)外網(wǎng)時(shí)就不會(huì)出錯(cuò)了。
<ignore_js_op>?
這是設(shè)置碧海威所在的網(wǎng)關(guān)和DNS
<ignore_js_op>?
這是設(shè)置碧海威自身設(shè)備的路由
經(jīng)過(guò)以上設(shè)置,碧海威本身就可以上網(wǎng)了 (主要為了自動(dòng)更新識(shí)別庫(kù)) 如果你的內(nèi)網(wǎng)環(huán)境是是32個(gè)IP以下,就可以安裝正式版授權(quán)版的,在未授權(quán)狀態(tài)下面,32IP以下免費(fèi)。而且功能上沒(méi)有任何限制,可以自動(dòng)更新。
如果你安裝的是免費(fèi)版本的,最多允許256個(gè)IP,但是不能自動(dòng)更新,也就是說(shuō),上面3張圖中的設(shè)置,可要可不要了。反正不能在線更新,只能手動(dòng)更新的。碧海威自身設(shè)備 能不能上網(wǎng)就無(wú)關(guān)緊要了。
<ignore_js_op>?
這里選擇,系統(tǒng)更新文件,進(jìn)行更新。(如果是免費(fèi)版,請(qǐng)選擇對(duì)應(yīng)的免費(fèi)版的更新文件,本例中的是正式版的文件,免費(fèi)版的帶有free字樣)
<ignore_js_op>?
這里是正確設(shè)置更新地址以后(默認(rèn)是錯(cuò)的,后面要加上st 2個(gè)字母),就可以發(fā)現(xiàn),特征庫(kù)被自動(dòng)更新了。(如果是免費(fèi)版,請(qǐng)選擇對(duì)應(yīng)的庫(kù)更新文件,手工進(jìn)行更新,文件在官方公布的群共享里有,是l7r結(jié)尾的文件名,最新版本是20140618)
<ignore_js_op>?
然后,就是關(guān)鍵的設(shè)置點(diǎn)所在了,在對(duì)象管理里面,點(diǎn) 自定義協(xié)議, 將你要識(shí)別的各種協(xié)議歸類。。。本例中,就是DSCP1 就是小包優(yōu)先,我就將DNS ARP DHCP 游戲 股票 遠(yuǎn)程桌面等都?xì)w到這里。 然后DSCP2,DSCP3以類例推。。
<ignore_js_op>?
下一步,就在流量策略里面,將你之前定義好的流量類別,分別打上,DSCP 1-4的標(biāo)。。順手將病毒類的應(yīng)用,加一條禁止通過(guò)。這樣數(shù)據(jù)連ROS都到達(dá)不了。就被攔截了,內(nèi)網(wǎng)有各種病毒就不怕亂傳播了。
至此。。碧海威的設(shè)置已經(jīng)完成。所有經(jīng)過(guò)的數(shù)據(jù),都會(huì)被打上 DSCP 1-4的標(biāo)簽。。然后交由ROS處理
而ROS中,就好辦了,將碧海威交過(guò)來(lái)的DSCP值為1-4的,再加上一個(gè)0的,未識(shí)別的,標(biāo)記上傳和下載的數(shù)據(jù)包,交由PCQ+HTB處理,就相當(dāng)輕松了。這里就不截圖了,直接上傳腳本。供大家使用。
因?yàn)镻A現(xiàn)在免費(fèi)版的已經(jīng)不支持DSCP功能,所以就不介紹了。
關(guān)于碧海威:
目前碧海威 分路由版和網(wǎng)橋版,路由版就是集成了路由功能的,也就是說(shuō),不要ROS也可以單獨(dú)運(yùn)行的。 而網(wǎng)橋版就是本例中說(shuō)明的版本。
網(wǎng)橋版本分為??2種
第1種是免費(fèi)版 所有的文件中都帶有 free字樣的, 這個(gè)版本是允許256個(gè)IP 無(wú)自動(dòng)升級(jí)功能,無(wú)基于協(xié)義的流控功能 (但可DSCP打標(biāo) ,正好可以配合ROS用戶用)
第2種是授權(quán)版??所有的文件中,都帶有st字樣的,這個(gè)版本在未授權(quán)前,只支持32個(gè)IP,超出了,會(huì)不受流控管理。 這個(gè)版本只要你的內(nèi)網(wǎng)IP是32個(gè)以內(nèi)的,那么用起來(lái),跟正式授權(quán)版是一模一樣的,可以自動(dòng)更新,可以DSCP打標(biāo),可以基于協(xié)議的流控(本例中就采用了這個(gè)版本,但是本人沒(méi)有用碧海威的流控功能,只用到了他的DSCP打標(biāo)功能,流控依然交由ROS處理,碧海威只負(fù)責(zé)打標(biāo))
再貼幾張單線多撥的實(shí)際使用效果:
<ignore_js_op>?
<ignore_js_op>?
<ignore_js_op>?
<ignore_js_op>?
本例中是,單線5撥的,上傳疊加,每線5M 下載不疊加,1線和5線均只有110M
所以我在做流控時(shí),上傳分了5個(gè) HTB, 下載用了1個(gè)HTB
實(shí)際運(yùn)行非常良好。每臺(tái)機(jī)器都可用到110M的最大帶寬,網(wǎng)內(nèi)可任意下載,看片。
游戲ping值,永遠(yuǎn)都是綠的
網(wǎng)頁(yè)永遠(yuǎn)都是秒開的
同時(shí),單機(jī)上網(wǎng),就算你自己一邊迅雷,你一邊玩游戲,照樣游戲優(yōu)先。運(yùn)行相當(dāng)完美。
在多線實(shí)列里,我的IP超過(guò)了32個(gè),所以我用的是免費(fèi)版,只能每半年去官網(wǎng)群里下載更新包,手動(dòng)更新一次。
不過(guò)就算不更新,實(shí)際上識(shí)別已經(jīng)非常好了,未標(biāo)出的數(shù)據(jù)很少。
至少識(shí)別效果上,我敢說(shuō)就算是半年前的庫(kù)文件,都超過(guò)了目前網(wǎng)上能找到的所有的所謂神本,小包優(yōu)先版本的腳本。
當(dāng)然如果你的IP比較多,又想得到最新的升級(jí)庫(kù),你也可以購(gòu)買授權(quán),實(shí)際上網(wǎng)橋版并不貴,如果用的好,支持一下正版
也無(wú)可厚非,畢竟這些的背后,都是需要團(tuán)隊(duì)在付出的,如果大家都想免費(fèi)的享用別人的成果,而不需要付出一分錢。
那這個(gè)東西,也不會(huì)長(zhǎng)久,畢竟抓包的也要發(fā)薪水呀。。
最終,我想說(shuō)的是,既然ROS標(biāo)識(shí)這么累,那干嘛還自己標(biāo)? 為什么不讓PA和碧海威,幫你標(biāo)?人家可是有團(tuán)隊(duì)時(shí)時(shí)更新的。
與其這么累的,滿世界找腳本,找到的效果也未必有這樣完美。
所以求人不如求已,用上了DSCP! 不再需要神本! 區(qū)區(qū)5類標(biāo)記,全網(wǎng)應(yīng)用一網(wǎng)打盡!
又利用上ROS超強(qiáng)的路由功能,又補(bǔ)足了流控短板! 是不是很棒呢?
有神本的同學(xué),如果覺(jué)得本人說(shuō)的不對(duì),可以自己做做實(shí)驗(yàn)看看,用你的神本去,迅雷下載,去看電影,你設(shè)置限速3M
看看是不是真的就限住了3M。
<ignore_js_op>?1線.rar?
<ignore_js_op>?碧海威L7免費(fèi)版安裝手冊(cè)20140923.pdf?
最后附上ROS DSCP單線腳本,和碧海威免費(fèi)版安裝手冊(cè)。 有不明白的,可去 ROS碧海威UBNT網(wǎng)絡(luò)技術(shù)? ?QQ群里找我。
因本人不從事IT相關(guān)行業(yè),只是純業(yè)余愛(ài)好,所以不提供有償服務(wù),至于提供免費(fèi)服務(wù),前提是我要有空。
另外該QQ群是我自己剛建的,歡迎技術(shù)愛(ài)好者,產(chǎn)品開發(fā)者們加入,共同學(xué)習(xí),但是不歡迎以營(yíng)利為目的人加入。
轉(zhuǎn)載于:https://www.cnblogs.com/h2zZhou/p/5751880.html
總結(jié)
以上是生活随笔為你收集整理的[RouterOS] ROS对接碧海威或PA等流控实现完美流控详细教程(附脚本全免费)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu16.04 英文环境安装中文
- 下一篇: jexus防止产生 *.core文件