電訊茶室's Archiver

gfx86674 發表於 2015-3-28 17:18

搭配腳本,讓Queue-Simple也可做HTB

[i=s] 本帖最後由 gfx86674 於 2015-3-28 18:36 編輯 [/i]

朋友家的網路只申辦20/5M.
但家中有兩個吃頻寬的怪物,分別是TVBOX與NAS.

所以應該要做QoS ,做HTB.
讓TVBOX優先於NAS ,這樣觀賞影集才不會因頻寬不足造成馬塞克或綠屏的情況.
不過做HTB前要先做封包標記,小弟嫌太麻煩...

所以小弟用偷吃步,搭配腳本,讓Queue-Simple也可做HTB :D

應用觀念其實很簡單,TVBOX有無運作即是我們觀察的點.
假如TVBOX有流量,則讓NAS的Queue-Simple運作進行限速,以確保TVBOX影像品質;
假如TVBOX無流量,或者流量不大,則將NAS的Queue-Simple關閉就好.

假設:
TVBOX:192.168.2.7
NAS:192.168.2.4

1.在/ip firewall mangle建立TVBOX設定.
add chain=prerouting [color=Red]action=passthrough[/color] [color=Green]src-address=192.168.2.7[/color]
[img]http://i.imgur.com/hhj0tIL.png[/img]
紅框即packets ,即我們與腳本觀察的點.

2.建立NAS Queue-Simple
[img]http://i.imgur.com/dAb1pqX.png[/img]
NAS做Queue-Simple後,最大下載10M/上載2M

3.建立腳本,每10秒檢查一次[code]:global tvbox
:if ([:typeof $tvbox]="nothing") do={:set tvbox 0}

:if (([/ip firewall mangle get \
     [find src-address="192.168.2.7"] packets]-$tvbox)>50) \
    do={:if ([/queue simple get [find name="NAS"] disabled]) \
            do={/queue simple enable [find name="NAS"]}} \
    else={:if (![/queue simple get [find name="NAS"] disabled]) \
              do={/queue simple disable [find name="NAS"]}}

:set tvbox [/ip firewall mangle get [find src-address="192.168.2.7"] packets][/code]完成後只要TVBOX的packets與上次檢查的不一樣,
即判定TVBOX是啟用的,限制NAS上/下載;

若是TVBOX的packets檢驗並無太大差異,即判定TVBOX離線,
關閉NAS Queue-Simple,讓NAS有更高的頻寬可用{:5_219:}

yiucsw 發表於 2015-4-9 08:38

我的问题是家人看完电视不关TVBox,所以网站反应速度有影响。有没有方法将TVBOX的priority降低?

gfx86674 發表於 2015-4-9 16:11

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=40950&ptid=6593]2#[/url] [i]yiucsw[/i] [/b]
[color=Green]:if (([/ip firewall mangle get \
     [find src-address="192.168.2.7"] packets]-$tvbox)[color=Red][b]>50[/b][/color]) \[/color]

50是比較packets差異,前後相減後大於50才開啟Queue-Simple.
什麼數值較合您家的環境,請自己下參數決定吧.

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.