Limit Video size

on Thursday, September 26, 2013


/ip firewall layer7-protocol
add name=High regexp="^.*get.+\\.(exe|rar|iso|zip|7zip|0[0-9][1-9]|flv|mkv|avi|mp4|3gp|rmvb|mp3|img|dat|mov).*\$"
add name=Mid regexp="^.*get.+\\.(zip|rar|7z).*\$"
add name=End regexp="^.*get.+\\.(pdf|doc|docx|xlsx|xls|rtf|ppt|ppt).*\$"
add name=Video regexp="http/(0\\.9|1\\.0|1\\.1)[\\x09-\\x0d ][1-5][0-9][0-9][\\x09-\\x0d -~]*(content-type: video)"
add name=Update-an regexp="^.*get.+\\.(bin|idx|cab|gz|avc|gem|mcs|klz|dat|kdc).*\$"
add name=youtube regexp="o-o.preferred.pttelkom-|a.youtube.com|b.youtube.com|c.youtube.com|d.youtube.com|e.youtube.c om|f.youtube.com|g.youtube.com|h.youtube.com|i.youtube.com|j.youtube.com|l.youtube.com"

/ip firewall mangle
add action=mark-packet chain=forward comment="High Eks" disabled=no layer7-protocol=High new-packet-mark=High-Ext passthrough=no protocol=tcp
add action=mark-packet chain=forward comment="Mid Eks" connection-bytes=10485760-4294967295 disabled=no layer7-protocol=Mid new-packet-mark=Mid-Ext passthrough=no \
    protocol=tcp
add action=mark-packet chain=forward comment="Low Eks" disabled=no layer7-protocol=High new-packet-mark=End-Ext passthrough=no protocol=tcp
add action=mark-connection chain=forward comment=Video connection-bytes=0-131072 disabled=no layer7-protocol=youtube new-connection-mark=Conn-video passthrough=yes \
    protocol=tcp
add action=mark-connection chain=forward connection-bytes=131072-4294967295 disabled=no new-connection-mark=conn-videodown passthrough=yes protocol=tcp
add action=mark-packet chain=forward connection-mark=Conn-video disabled=no new-packet-mark=Video passthrough=no
add action=mark-packet chain=forward connection-mark=conn-videodown disabled=no new-packet-mark=Videolimit passthrough=no
add action=mark-packet chain=forward comment=Updatean disabled=no layer7-protocol=Update-an new-packet-mark=Update-an passthrough=no protocol=tcp



add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 max-limit=0 name="Limit(Ekstensi|Streaming|Updatean)" parent=global-out priority=3
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k max-limit=32k name=High packet-mark=High-Ext parent="Limit(Ekstensi|Streaming|Updatean)" \
    priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k max-limit=32k name=Mid packet-mark=Mid-Ext parent="Limit(Ekstensi|Streaming|Updatean)" priority=\
    6 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=512k max-limit=1M name=End packet-mark=End-Ext parent="Limit(Ekstensi|Streaming|Updatean)" priority=\
    4 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=64k max-limit=128k name=Stream-Video packet-mark=Video parent="Limit(Ekstensi|Streaming|Updatean)" \
    priority=8 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=32k max-limit=32k name=Update-an packet-mark=Update-an parent="Limit(Ekstensi|Streaming|Updatean)" \
    priority=5 queue=default
add burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=15k max-limit=32k name=Stream-VideoLimit packet-mark=Videolimit parent=\
    "Limit(Ekstensi|Streaming|Updatean)" priority=8 queue=default

Limit Ekstensi dengan Layer 7 Mikrotik

on Wednesday, September 25, 2013

Merasa jengkel dengan user yg mendownload file secara besar dan menggunakan Download Manager pasti susah di atasi.

berikut cara limit ekstensi yang paling sering di download.
saya menggunakan mikroitk versi 4 running d RB 750G.

Pertama tandai ekstensi


1/ip firewall layer7-protocol
2add comment="" name=High regexp="^.*get.+\\.(exe|rar|iso|zip|7zip|0[0-9][1-9]|flv|mkv|avi|mp4|3gp|rmvb|mp3|img|dat|mov).*\$"
3add comment="" name=Mid regexp="^.*get.+\\.(zip|rar|7z).*\$"
4add comment="" name=End regexp="^.*get.+\\.(pdf|doc|docx|xlsx|xls|rtf|ppt|ppt).*\$"
5add comment="" name=Video regexp="http/(0\\.9|1\\.0|1\\.1)[\\x09-\\x0d ][1-5][0-9][0-9][\\x09-\\x0d -~]*(content-type: video)"

Menggunakan Regular Expersion silahkan googling untuk penjelasanya.
High = File yg biasa berukuran besar dan paling sering didownload
Mid = File bertype zip rar 7z berukuran hanya sampai 10 MB jika lebih akan dilimit
End = File yg tidak ingin di limit
Video = Stream Video

Kedua tandai mangle

1/ip firewall mangle
2add action=mark-packet chain=forward comment="High Eks" disabled=no dst-address-list=!Bypass layer7-protocol=High new-packet-mark=High-Ext passthrough=no protocol=tcp
3add action=mark-packet chain=forward comment="Mid Eks" connection-bytes=10485760-4294967295 disabled=no layer7-protocol=Mid new-packet-mark=Mid-Ext passthrough=no protocol=tcp
4add action=mark-packet chain=forward comment="Low Eks" disabled=no layer7-protocol=End new-packet-mark=End-Ext passthrough=no protocol=tcp
5add action=mark-packet chain=forward comment=Video disabled=no layer7-protocol=Video new-packet-mark=Video passthrough=no protocol=tcp src-address-list=!Bypass

Ketiga Buat PCQ dan Simple untuk limit/jepit ekstensi

1/queue type add kind=pcq name=PCQ_Limit_Video pcq-classifier=dst-address pcq-limit=50 pcq-rate=64000 pcq-total-limit=2000
2
3/queue simple
4add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment="" direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=0/0 max-limit=64k/64k name=High packet-marks=High-Ext parent=none priority=8 queue=default-small/default-small total-queue=default-small
5add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment="" direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=0/0 max-limit=128k/128k name=Mid packet-marks=Mid-Ext parent=none priority=5 queue=default-small/default-small total-queue=default-small
6add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment="" direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=0/0 max-limit=1M/1M name=End packet-marks=End-Ext parent=none priority=2 queue=default-small/default-small total-queue=default-small
7add burst-limit=0/0 burst-threshold=0/0 burst-time=0s/0s comment="" direction=both disabled=no dst-address=0.0.0.0/0 interface=all limit-at=0/0 max-limit=64k/64k name=Video packet-marks=Video parent=none priority=8 queue=default-small/PCQ_Limit_Video total-queue=default-small
Untuk jatah limit / jepit sesuaikan dengan keinginan anda.

untuk script download disini

 http://merahputihsegoroasat.blogspot.com/2013/08/limit-ekstensi-dengan-layer-7-mikrotik.html

Detect dan shapping download connection byte

Sehubungan dengan banyaknya pertanyaan mengenai cara membatasi download aktifity, berikut ada trik lain selain “delaypool rasa mikrotik”.
Adapun trik ini adalah dengan memanfaatkan fasilitas “connection bytes” pada mangle.
Mengenai fungsi connection bytes kalo tidak salah adalah : mendeteksi jumlah bytes yang telah tertransfer dalam satu koneksi antar dua pihak.
Sebagai contoh :
ip 192.168.10.12 melakukan koneksi ke 202.1.2.xx. Nah selama koneksi ini terjadi, connection bytes akan mencatat trafic bandwitdh yang terjadi dalam koneksi ini. dari 0 byte sampai tak terhingga dan penghitungan akan dihentikan setelah koneksi terputus. Dan untuk connection bytes ini akan mumpuni jika dilakukan pada queue tree.
Sebagai ilustrasi, saya akan membatasi client dengan ip 192.168.10.12.
Jika melakukan koneksi pada satu web dengan jumlah bytes masih antara 0-128 KB, maka koneksi ini diberi prioritas 1, dan diberi jatah bandwith 128kbps. namun setelah bytes lebih dari 128KB pada koneksi itu, maka priority akan diturunkan menjadi prio 8 dan bandwith akan dicekek ke 32kbps
Mangle :
Pertama lakukan mark connection pada setiap aktifitas LAN ke luar
Quote:
chain=postrouting out-interface=ether1 dst-address=192.168.10.0/24 protocol=tcp src-port=80 action=markconnection new-connection-mark=http_conn passthrough=yes
Selanjutnya menangkap bytes yang tertransfer dari suatu web ke ip 192.168.10.12. dimana pada mangle pertama mendeteksi hanya pada transfer antara 0-128KB. jika lebih dari itu maka akan ditangani oleh mangle kedua.
Quote:
chain=postrouting out-interface=ether1 dst-address=192.168.10.12 connection-mark=http_conn connectionbytes= 0-131072 action=mark-packet new-packet-mark=client12_browsing passthrough=no chain=postrouting out-interface=ether1 dst-address=192.168.10.12 connection-mark=http_conn connectionbytes= 131073-4294967295 action=mark-packet new-packet-mark=client12_download passthrough=no
Selesai dimangle sekarang kita lakukan shaping pada kedua mangle tersebut dengan queue tree. Pada queue tree ini kita memanfaatkan queue type pcq, dan untuk byte antara 0-128KB kita beri rate 128kbps, sementara jika lebih dari 128KB maka akan diberi rate 32kbps.
queue type :
Quote:
name=”browsing” kind=pcq pcq-rate=128000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000
name=”download” kind=pcq pcq-rate=32000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000
Selanjutnya masuk ke queue tree:
queue tree :
Pertama bikin parent queue
Quote:
name=”choi” parent=ether1 packet-mark=”" limit-at=1024000 queue=default priority=3 max-limit=1024000 burst-limit=0 burst-threshold=0 burst-time=0s
Selanjutnya bikin child queue khusus untuk ip 192.168.10.12 tersebut dimangle diatas
Quote:
name=”client12_browsing” parent=choi packet-mark=”client12_browsing” limit-at=0 queue=browsing
priority=1 max-limit=0 burst-limit=0 burst-threshold=0
name=”client12_download” parent=choi packet-mark=”client12_download” limit-at=0 queue=download
priority=8 max-limit=0 burst-limit=0 burst-threshold=0

Quote:
chain=postrouting out-interface=ether1 dst-address=192.168.10.0/24 protocol=tcp src-port=80 action=markconnection new-connection-mark=http_conn passthrough=yes
Saya coba modifikasi sedikit sehingga arah setingannya lebih ‘global’ tidak hanya berdasarkan ip client, menggunakan webproxy dan sejauh ini berjalan dengan baik. (menggunakan list nice, sehingga aktifitas browsing/download IIX tidak dibatasi). Saya juga menggunakan prerouting pada manglenya.
di mangle
Code:
chain=prerouting protocol=tcp dst-port=80 dst-address-list=!nice action=markconnection
new-connection-mark=http_conn passthrough=yes
chain=prerouting connection-mark=http_conn connection-bytes=0-131072 action=markpacket new-packet-mark=browsing passthrough=no
chain=output connection-mark=http_conn connection-bytes=0-131072 action=mark-packet new-packet-mark=browsing passthrough=no
chain=prerouting connection-mark=http_conn connection-bytes=131073-4294967295
action=mark-packet new-packet-mark=download passthrough=no
chain=output connection-mark=http_conn connection-bytes=131073-4294967295
action=mark-packet new-packet-mark=download passthrough=no
pada queue type
Code:
name=”browsing” kind=pcq pcq-rate=512000 pcq-limit=50 pcq-classifier=dst-address
pcq-total-limit=2000
name=”download” kind=pcq pcq-rate=32000 pcq-limit=50 pcq-classifier=dst-address pcqtotal-
limit=2000
pada queue tree
Code:
name=”clovanzo” parent=LAN packet-mark=”" limit-at=10000000 queue=default priority=3
max-limit=10000000 burst-limit=0 burst-threshold=0 burst-time=0s
name=”client_browsing” parent=clovanzo packet-mark=browsing limit-at=0
queue=browsing priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s
name=”client_download” parent=clovanzo packet-mark=download limit-at=0
queue=download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

Sumber: http://tutorialmikrotik.com/detect-dan-shapping-download-connection-byte.php