Friday, January 25, 2008

Drop user leat qouta

Misalkan kita punya script simple queue seperti bawah ini:

Code:
add name="Isp" target-addresses=192.111.111.99/32 dst-address=0.0.0.0/0 \
interface=all parent=none direction=both priority=8 \
queue=default-small/share-ni-down limit-at=0/0 max-limit=32000/64000 \
burst-limit=/128000 burst-threshold=/30000 burst-time=/10s \
total-queue=default-small disabled=no
dan kita menginginkan membatasi bandwidth-nya jika trafficnya sudah melewati misalkan 500MB dalam satu hari, maka kita bisa membuat script dibawah ini:

Code:
add name="trafwatcher01" source="
/queue simple
:local traf;
:set traf [get [find name="Isp"] total-bytes]
:if ($traf > 500000000) do = {
set [find name="Isp"] max-limit= 32000/32000
:log info "isp traffic exceeding 500MB"}
policy=ftp,reboot,read,write,policy,test,winbox,password

variabel traf fungsinya untuk menampung sementara nilai total traffic

buat scheduler untuk mengecek traffic script-nya, misalnya dibuat setiap 1/2 jam untuk mengeceknya.
Code:
add name="trafisp" on-event=trafwatcher01 start-date=jan/01/1970 \
start-time=11:00:00 interval=30m comment="" disabled=no

nah itu untuk script untuk membatasinya, tinggal membuat script satu lagi jika sudah melewati satu hari (misal jam 12 malam), counternya mereset total traffic queue client tsb dan mereset bandwidthnya normal ke 64 kbps lagi.

GOODLUCK

sumber: wiki dan howto-script mikrotik,forummikrotik indonesia

No comments: