Memisahkan Antara Download Dan Browsing Dengan Mikrotik

Memisahkan Antara Download Dan Browsing Dengan Mikrotik

Memisahkan Antara Download Dan Browsing Dengan Mikrotik – 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’ 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 dan lainnya. 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-dstto-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-addresslist=_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-totallimit=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. 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” dan lain-lain.

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.

Baca Juga : Membuat Address List Berdasarkan Domain Name

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 dstaddress=([/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.

Itulah tutorial cara Memisahkan Antara Download Dan Browsing Dengan Mikrotik semoga bermanfaat.

 

Related posts

One Thought to “Memisahkan Antara Download Dan Browsing Dengan Mikrotik

  1. […] Baca Juga : Memisahkan Antara Download Dan Browsing Dengan Mikrotik […]

Leave a Comment