Anda di halaman 1dari 3

Tutorial Memisahkan Pemakaian B/W antara Browsing

dan Downloading
DI comot dari http://www.forummikrotik.com – Karya CHOI

Sekedar share settingan, siapa tahu dengan adanya masukan-masukan dari rekan-rekan sekalian
dapat lebih memaksimalkan setting mikrotik saya;

Settingan ini adaah hasil dari membaca tutor ‘delaypoll rasa mikrotik’ post dari bro ‘niplux’…
thank’s banget mas atas tutornya;

Seperti tutor yang saya sebut diatas, pertama kita buat list filter di “/ip firewall filter” yang akan
menangkap setiap request yang berisi contens file-file yang biasa di download; seperti .exe .rar
.zip dan website-website yang biasa ngabisin bandwith; seperti youtube, megarotic dll..
Dan setelah di tangkap, maka ip address si website yang didownload tersebut akan kita
masukkan kedalam list tersendiri; yang didalam contoh ini saya bikin list “yes_no”.

berikut adalah hasil dari perintah yang dibikin (maaf saya tampikan hasil jadinya saja, karena
saya bikin di winbox…)

chain=forward protocol=tcp dst-port=80 content=.exe src-address-list=x_z_1_download


action=add-dst-to-address-list address-list=yes_no address-list-timeout=1d

Disini setiap website yang diakses oleh list address “x_z_1_download” akan dimasukkan dalam
list “yes_no” selama satu hari; (perkiraan download paling lama)

kemudian bikin satu mangle untuk menangkap client yang melakukan download;

chain=postrouting out-interface=ether1 connection-mark=http_conn src-address-list=yes_no dst-


address-list=_best action=mark-packet new-packet-mark=http_clients_down passthrough=no

Setiap aksi dari list address “_best” yang bertujuan ke list address “yes_no” pada port ’80′ akan
dimark packet dengan nama “http_clients_down”;

filtering dan marking packet udah selesai; sekarang kita bikin “queue tree”-nya untuk membatasi
bandwith download ini :
bikin dulu “queue type” pcq dengan nama “_d_best_down” dan rate-nya diset 64000 (8 KB/s);

name=”_d_best_down” kind=pcq pcq-rate=64000 pcq-limit=50 pcq-classifier=dst-address pcq-


total-limit=2000

Dengan rate ini, sebesar-besarnya client download; mereka hanya akan mendapatkan max 8
KB/s; meskipun dia menggunakan IDM atau apapun namanya.
Selanjutnya bikin queue tree;
name=”In_best_down” parent=2_In_best packet-mark=http_clients_down limit-at=0
queue=_d_best_down priority=8 max-limit=320000 burst-limit=0 burst-threshold=0 burst-
time=0s

Diberi nama “In_best_down” dengan parent “2_In_best” yang menangani packet mark yang
sudah kita buat diatas; yakni “http_clients_down” dengan priority paling bontot=8; rate 0 dan
max 320kbps; (perkiraan dalam waktu bersamaan yang download 5 user).
mengenai priority; untuk browsing biasa diberi priority yang lebih tinggi, semisal “2″ atau “3″,
sehingga jika ada user yang sedang download, pada saat juga melakukan browsing, maka
download istirahat sejenak, nunggu browsing-nya selesai and setelah itu download lanjut lagi…
Selesai….
Tapi ada permasalahan sedikit; dimana apabila website yang sudah ditangkap dan dimasukan ke
dalam list “yes_no” itu ternyata adalah website penting seperti “yahoo”, “google” dll.. maka dia
akan tetap kelimit selama satu hari.. wah……
Untuk mengatasi ini, kita membuat scripts yang khsusus melakukan checking pada website-
website penting tersebut; dimana jika ditemukan website itu tertangkap, maka secara otomatis
akan dihapus dari list “yes_no” agar tidak terlimit. Jadi khsusus untuk website peting ini aja
download bebas melalui jalur browsing biasa.. gpp-lah… kan jarang-jarang juga client download
attachment dari email.
pertama bikin dulu fiternya untuk nangkap website penting tersebut:

chain=forward protocol=tcp dst-port=80 content=yahoo.co src-address-list=x_z_1_download


action=add-dst-to-address-list address-list=penting address-list-timeout=1d

Setiap aksi dari list address “x_z_1_download” yang berisi contents “yahoo.co” akan
dimasukkan kedalam list “penting”. (bukan “yes_no”) karena ini akan kita gunakan sebagai
dasar`untuk melakukan pengecekan pada script kita;
dan selanjutnya bikin scripts :

:foreach i in=[/ip firewall address-list find list=penting dynamic=yes] do={/ip firewall address-
list remove [find address=[/ip firewall address-list get $i address]]}

Semua ip yang terdapat dalam list “penting” akan dihapus, termasuk yang berada di list “yes_no”
dll…
bikin scheduler:

cek_penting penting jan/01/1970 22:29:00 5s 4417

Aksi dilakukan setiap 5 detik.

Selanjutnya bagaimana dengan yang sudah selesai download?


karena kita set waktu penangkapan selama 1 hari, maka ada kemungkinan di pendownload sudah
selesai; dan ada baiknya website yang ada di list “yes_no” dan sudah tidak aktif lagi melakukan
koneksi dihapus saja; ini untuk menjaga agar jika ada user yang hanya sekedar browsing pada
website tersebut tidak terhalang oleh priority “8″ tadi, biar normal lagilah istilahnya;
Jadi secara periodik kita harus mengecek status koneksi khusus untuk list “yes_no” saja. apakah
masih ada koneksi aktif apa tidak; jika masih ada dibiarkan, jika sudah tidak ada dihapus…!!!
Bikin scripts lagi:

:foreach i in=[/ip firewall address-list find list=yes_no dynamic=yes]do={:if([:len [/ip fire conn
find dst-address=([/ip firewall address-list get $i address]. “:80″)]]=0) do={/ip fire address-list
remove $i}}

Melakukan cek koneksi yang ada pada port 80, jika ternyata si ip dalam list masih aktif
koneksinya: dibiarkan, jika udah gak ada aktifitas lagi: dihapus…
Bikin scheduler-nya :

cek_remove remove jan/01/1970 22:29:00 11s 1661

Untuk peletakan aturan dalam mangle-nya, harus pas, dimana aturan untuk download ini
diletakkan diatas aturan untuk browsing biasa

Anda mungkin juga menyukai