感謝在小弟學習RouterOS的過程中,給予協助的pctine、jokkson、YAWPYNG、npc等前輩。
也希望RouterOS的眾家高手可以繼續不吝分享心得,以下分享若有謬誤,還請包含與指正。
[系列文章]
[分享]實作RouterOS的HTB(上篇)
[分享]實作RouterOS的HTB(中篇)
[分享]實作RouterOS的HTB(中下篇)
[前言]
小弟初次接觸RouterOS是今年的二月,摸索至今發現有比較簡單標記封包的方法。
所以就再寫這篇來補充一下封包標記的簡便方法。
為什麼在RouterOS裡面要做比較精準的QoS需要標記封包呢?
簡單的講,就是將網路上的各種資料封包做記號,然後再命令RouterOS根據這些記號來做後續的處理。
所以封包如果標記錯誤的話,會導致QoS的失敗,標記這基本功像蹲馬步一樣,大意不得呀。
再閱讀這篇之前,還請您先閱讀之前的上篇與中篇,否則您可能會看的一頭霧水。
以下均用Winbox的截圖示範而不用高手常用的CLI,是為了讓初學者看起來更親切些,勿怪。
[內文]
小弟家裡有一台Synology的NAS,這台NAS可是很不務正業的,上面跑了很多的服務。
這些服務有Web Server、FTP、WebDAV、Cloud station、PLEX、VPN...等等。
因為這些服務重要性有別,所以自然需要好好的管理一下他們的頻寬優先序與保障頻寬。
所以接下來我就以標記這台NAS的封包為例,示範如何簡單的標記上下行封包。
1.以前小弟以為需要先標記下行的連結(connection),才能標記下行的封包(packet)。
但現在才知道連結是雙向的,沒有所謂的上下行之分。
所以我們可以先針對某種服務來標記連結,然後再用這連結來標記上、下行的封包。
而RouterOS是以通訊port來識別服務的。
用這種方式來標記封包,可以減少很多標記連結的規則。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-88b295ee4c9c3de8f02b8a703d877dd0.png)
2.首先使用forward這個chain,位址要輸入NAS的IP。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-971a25abb8b9c25d83b555c0646489b4.png)
3.也可以用address list,小弟比較推薦這方法,日後維護較為簡便。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-e76eb49920c8e78c1b5e216073678c8d.png)
4.action選擇標記連結,標記的名稱為:superdisk_con
passthrough一定要勾選,這樣才能後續繼續處理。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-ee40eaeee83553fa46132ba58b969062.png)
5.再來標記下行,目標是剛剛所標記的連結:superdisk_con。
在前面的步驟裡,所有NAS的連結都已經被標示為superdisk_con了。
所以進一步要指定是要標記superdisk_con裡的哪些封包。
小弟要標記的是synology的Cloud station這服務,它使用 tcp 6690 port。
因為是標記下行,所以選擇Dst.Port與In.Interface。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-4a436b16347173f6e2f2e6285e5f6b04.png)
6.選擇標記封包,取個自己好記得名稱,SUPERDISK_cloud_in
passthrough不要勾選,這樣這下行的封包就標記完成了。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-a29baea30ac7b981d3fe34a449c224d6.png)
7.同樣的換成標記上行,用的還是剛剛那標記的連結。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-b09de716a662c6c4aa38f081095536d9.png)
8.這次取名為Superdisk_cloud_out。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-b7f5c942fd632fc39c458fe1c8cb1035.png)
9.重複多次的步驟標示出所有的封包以後,就可以加到Queues tree去處理囉。
![[分享]實作RouterOS的HTB(中下篇)](http://attach.mobile01.com/attach/201307/mobile01-2108094692dbe0a28973ada512fd37a1.png)
其他的就請期待實作HTB系列的完結篇吧。