Mendalami HTB pada QoS RouterOS Mikrotik

Monday, June 28, 2010 at 1:17 AM | 0 comments |

Implementasi QoS (Quality of Services) di Mikrotik banyak bergantung pada sistem HTB (Hierarchical Token Bucket). HTB memungkinkan kita membuat queue menjadi lebih terstruktur, dengan melakukan pengelompokan-pengelompokan bertingkat. Yang banyak tidak disadari adalah, jika kita tidak mengimplementasikan HTB pada Queue (baik Simple Queue maupun Queue Tree), ternyata ada beberapa parameter yang tidak bekerja seperti yang kita inginkan.Beberapa parameter yang tidak bekerja adalah priority, dan dual limitation (CIR / MIR).
Pada pembahasan artikel ini, kita akan mengambil contoh sebuah sistem QoS sederhana, di mana kita ingin mengalokasikan bandwidth sebesar 400kbps untuk 3 client, di mana masing-masing client bisa mendapatkan maksimal 200kbps. Di antara ketiga client tersebut, memiliki prioritas yang berbeda, yaitu: 1,2, dan 3.
Untuk mempermudah pemantauan dan pembuktian, kita akan menggunakan queue tree.
Cara paling mudah untuk melakukan queue dengan queue tree, adalah dengan menentukan parameter :
* parent (yang harus diisi dengan outgoing-interface),
* packet-mark (harus dibuat terlebih dahulu di ip-firewall-mangle),
* max-limit (yang merupakan batas kecepatan maksimum), atau dikenal juga dengan MIR (Maximum Information Rate)
Untuk percobaan awal, semua priority diisi angka yang sama: 8, dan parameter limit-at tidak kita isi. Gambar berikut ini adalah ilustrasi apa yang akan terjadi dengan konfigurasi di atas.
Karena alokasi bandwidth yang tersedia hanya 400kbps, sedangkan total akumulasi ketiga client melebihinya (600 kbps), maka ketiga client akan saling berebut, dan tidak bisa diprediksikan siapa yang akan menang (menggunakan bandwidth secara penuh) dan siapa yang akan kalah (tidak mendapatkan bandwidth yang sesuai).
Misalkan q1 adalah client dengan prioritas tertinggi, dan q3 adalah client dengan prioritas terbawah. Kita akan mencoba memasukkan nilai prioritas untuk masing-masing client sesuai dengan prioritasnya.
Tampak pada gambar di atas, meskipun sekarang q1 sudah memiliki prioritas tertinggi, namun ketiga client masih berebutan bandwidth dan tidak terkontrol.
Gambar berikut akan mencoba mengimplementasikan nilai limit-at. Seharusnya, limit-at adalah CIR (Committed Information Rate), merupakan parameter di mana suatu client akan mendapatkan bandwidthnya, apapun kondisi lainnya, selama bandwidthnya memang tersedia.
Ternyata q1 masih tidak mendapatkan bandwidth sesuai dengan limit-at (CIR) nya. Padahal, karena bandwidth yang tersedia adalah 400kbps, seharusnya mencukupi untuk mensuplai masing-masing client sesuai dengan limit-at nya.
Berikutnya, kita akan menggunakan parent queue, dan menempatkan ketiga queue client tadi sebagai child queue dari parent queue yang akan kita buat. Pada parent queue, kita cukup memasukkan outgoing-interface pada parameter parent, dan untuk ketiga child, kita mengubah parameter parent menjadi nama parent queue. Pertama-tama, kita belum akan memasukkan nilai max-limit pada parent-queue, dan menghapus semua parameter limit-at pada semua client.
Tampak pada contoh di atas, karena kita tidak memasukkan nilai max-limit pada parent, maka priority pada child pun belum bisa terjaga.
Setelah kita memasang parameter max-limit pada parent queue, barulah prioritas pada client akan berjalan.
Tampak pada contoh di atas, q1 dan q2 mendapatkan bandwidth hampir sebesar max-limitnya, sedangkan q3 hampir tidak kebagian bandwidth. Prioritas telah berjalan dengan baik. Namun, pada kondisi sebenarnya, tentu kita tidak ingin ada client yang sama sekali tidak mendapatkan bandwidth.
Untuk itu, kita perlu memasang nilai limit-at pada masing-masing client. Nilai limit-at ini adalah kecepatan minimal yang akan di dapatkan oleh client, dan tidak akan terganggu oleh client lainnya, seberapa besarpun client lainnya 'menyedot' bandwidth, ataupun berapapun prioritasnya. Kita memasang nilai 75kbps sebagai limit-at di semua client.
Tampak bahwa q3, yang memiliki prioritas paling bawah, mendapatkan bandwidth sebesar limit-at nya. q1 yang memiliki prioritas tertinggi, bisa mendapatkan bandwidth sebesar max-limitnya, sedangkan q2 yang prioritasnya di antara q1 dan q3, bisa mendapatkan bandwidth di atas limit-at, tapi tidak mencapai max-limit. Pada contoh di atas, semua client akan terjamin mendapatkan bandwidth sebesar limit-at, dan jika ada sisa, akan dibagikan hingga jumlah totalnya mencapai max-limit parent, sesuai dengan prioritas masing-masing client.
Jumlah akumulatif dari limit-at tidaklah boleh melebihi max-limit parent. Jika hal itu terjadi, seperti contoh di bawah ini, jumlah limit-at ketiga client adalah 600kbps, sedangkan nilai max-limit parent hanyalah 400kbps, maka max-limit parent akan bocor. Contoh di bawah ini mengasumsikan bahwa kapasitas keseluruhan memang bisa mencapai nilai total limit-at. Namun, apabila bandwidth yang tersedia tidak mencapai total limit-at, maka client akan kembali berebutan dan sistem prioritas menjadi tidak bekerja.
Sedangkan, mengenai max-limit, max-limit sebuah client tidak boleh melebihi max-limit parent. Jika hal ini terjadi, maka client tidak akan pernah mencapai max-limit, dan hanya akan mendapatkan kecepatan maksimum sebesar max-limit parent (lebih kecil dari max-limit client).
Jika semua client memiliki prioritas yang sama, maka client akan berbagi bandwidth sisa. Tampak pada contoh di bawah ini, semua client mendapatkan bandwidth yang sama, sekitar 130kbps (total 400kbps dibagi 3).
Yang perlu diingat mengenai HTB:
1. HTB hanya bisa berjalan, apabila rule queue client berada di bawah setidaknya 1 level parent, setiap queue client memiliki parameter limit-at dan max-limit, dan parent queue harus memiliki besaran max-limit.
2. Jumlah seluruh limit-at client tidak boleh melebihi max-limit parent.
3. Max-limit setiap client harus lebih kecil atau sama dengan max-limit parent.
4. Untuk parent dengan level tertinggi, hanya membutuhkan max-limit (tidak membutuhkan parameter limit-at).
5. Untuk semua parent, maupun sub parent, parameter priority tidak diperhitungkan. Priority hanya diperhitungkan pada child queue.
6. Perhitungan priority baru akan dilakukan setelah semua limit-at (baik pada child queue maupun sub parent) telah terpenuhi.
Panduan praktis cara perhitungan limit-at dan max-limit
Di asumsikan bandwidth yang tersedia sebesar 1000kbps. Dan jumlah seluruh client adalah 70.  Yang perlu diketahui adalah :
1. Berapa jumlah maksimal client yang menggunakan internet pada saat yang bersamaan. Jumlah ini belum tentu sama dengan jumlah komputer yang ada, apabila semua client tidak pernah terkoneksi secara bersamaan. Sebagai contoh, untuk kasus ini kita asumsikan adalah 50.
2. Berapa jumlah minimal client yang menggunakan internet pada saat yang bersamaan. Sebagai contoh, untuk kasus ini kita asumsikan adalah 10
Maka, untuk setiap client (1 client dibuatkan 1 rule queue), limit-at nya adalah 1000 / 50 = 20kbps, dan max-limit nya adalah 1000 / 10 = 100 kbps.
Jangan lupa untuk menambahkan parent dengan max-limit sebesar 1000kbps (tidak perlu limit-at), dan memasukkan semua queue client di bawah parent queue. Jika untuk terminal tertentu membutuhkan priority lebih besar, maka kita bisa menggunakan priority yang berbeda-beda, tergantung dengan urutan prioritasnya.
Dibuat oleh: Valens Riyadi - MIKROTIK INDONESIA - www.mikrotik.co.id
http://mikrotik.co.id/artikel_lihat.php?id=29

Setting Queue Tree Mikrotik Efektif [APPROVED]

at 1:02 AM | 0 comments |

Berdasarkan tutorial2 yang sudah ada di internet tentang setting queue tree mikrotik, maka saya ambil kesimpulan untuk rule yang baik dan efektif menurut saya dan mungkin bisa anda terapkan juga.

Contoh Kasus :

Warnet
Bandwidth  Total= 512k
Jumlah Client = 8
ip router Mikrotik = 192.168.1.1
ip client = 192.168.1.2-192.168.1.9
1. Buat Mangle :
/ip firewall mangle

(menangkap semua traffic/koneksi untuk semua client)
add chain=forward action=mark-connection new-connection-mark=all-warnet passthrough=yes dst-address=192.168.1.2-192.168.1.9
add chain=forward action=mark-packet new-packet-mark=all-warnet passthrough=no connection-mark=all-warnet

(menangkap semua traffic/koneksi client satu persatu. ulangi rule ini sesuai dengan banyaknya client anda)
add chain=forward action=mark-connection new-connection-mark=client1 passthrough=yes dst-address=192.168.1.2
add chain=forward action=mark-packet new-packet-mark=client1 passthrough=no connection-mark=client1

add chain=forward action=mark-connection new-connection-mark=client2 passthrough=yes dst-address=192.168.1.3
add chain=forward action=mark-packet new-packet-mark=client2 passthrough=no connection-mark=client2

......... dan seterusnya sampai 8 client................

2. Buat Queue Tree
/queue tree

(melihat total bandwidth yang digunakan oleh semua client)
add name="all-warnet" parent=global-out packet-mark=all-warnet limit-at=0 queue=default priority=8 max-limit=512000

(membatasi bandwidth per client)
add name="client1" parent=all-warnet packet-mark=client1 limit-at=70000 queue=default priority=3 max-limit=512000

add name="client2" parent=all-warnet packet-mark=client2 limit-at=70000 queue=default priority=3 max-limit=512000

......... dan seterusnya sampai 8 client................

3. Pada rule queue tree saya, semua client mempunyai hak dan jaminan bandwidth yang sama. ilustrasinya, bandwidth akan diberikan full 512k apabila hanya satu client yang online (contoh client1), tapi ketika ada client lain yang online atau request bandwidth maka bandwidth client1 akan turun secara otomatis. apabila semua client membutuhkan bandwidth maka masing2 client bandwitdh akan mendapatkan 512k dibagi 8 client = 64k.

4. Mungkin anda bertanya, kenapa saya pasang limit at = 0 pada queue al warnet sedangkan pada client limit at = 70k dan kenapa priority pada queue all warnet berbeda dengan queue client..??
jawaban dan cara perhitungannya bisa anda temukan http://mikrotik.co.id/artikel_lihat.php?id=29

Source : http://kuliahku.com/forum/index.php?topic=21.0

Mikrotik - Queue Simple

Sunday, June 27, 2010 at 9:35 PM | 1 comments |

Queue Simple Mikrotik Referency...

Suorce : All my Loock Site...


Mikrotik Limit Bandwidht

at 7:49 AM | 0 comments |

How to Setting Mikrotik Limit Bandwidht

After you install Mikrotik As Gateway ,mikrotik As DHCP server, and Now, To Control Traffic internet you can make Limit Bandwidht uses Queue Simple Or Queue Tree

A. Uses Simple Queue

1. Log in From Winbox

2. If you success, you can enter to Winbox configuration setting

3. Click Queue and add new Simple Queue

in General Tab

- Set name = Client 1

- Target address = Ip that would in the Limit bandwidht. example: 123.123.123.0/24

- Max-Limit = Maximum bandwidht you can give for Download and Upload

example: 64k/64k

4. In Simple Queue setting, Click Advance

- set interface = Local

- set Limita-at = 32k/32k

5. Apply and Ok


B. Uses PCQ (Per Client Queue)

1. set in mangel first to configuration paket mark and conection mark

ip—-firewall—mangel—add new queue List

chain=forward src-address=123.123.123.0/24 action=mark-connection new-connection-mark=123-CM passthrough=yes

chain=forward connection-mark=123-CM action=mark-packet new-packet-mark=123-PM passthrough=yes

2. In Queue Type, set download and Upload

Queue—QueueType—-add

name=”download” kind=pcq pcq-rate=0 pcq-limit=10 pcq-classifier=dst-address pcq-total-limit=2000

name=”upload” kind=pcq pcq-rate=0 pcq-limit=10 pcq-classifier=src-address pcq-total-limit=2000

3. In Queue Tree,Set Bandwidht you can give to ip Local

Queue—QueueTree—-add

name=”123L” parent=Local packet-mark=123-PM limit-at=0 queue=download priority=8 max-limit=64000 burst-limit=0 burst-threshold=0 burst-time=0s

name=”123P” parent=Public packet-mark=123-PM limit-at=0 queue=upload priority=8 max-limit=64000 burst-limit=0 burst-threshold=0 burst-time=0s

4. Ok complete

Source : http://mikrotik.unimedcenter.org/?p=9

Drop and Block ip and Mac address from Mikrotik

at 7:42 AM | 0 comments |

A great number of IP that entered to server, could that client that want to enter. just direct block ip and mac address him from firewall configuration

1. Login to mikrotik used Winbox

2. then from winbox block ip

/ip firewall filter add chain=forward src-address=123.123.123.10 action=drop

3. Block ip and Mac address

from winbox

ip firewall filter add chain=forward src-address=123.123.123.10 src-mac-address= oe:09:j8:kl:9a

And don’t forget to be given the sign (! ) nearby left this MAC OK

4. To Tab Action chose Action: drop

5. click “apply” and “ok”

Source : http://mikrotik.unimedcenter.org/?p=18

Load Balancing Mikrotik

at 7:39 AM | 0 comments |

Server Mikrotik least had 3 NIC

1. ether1 —>Astinet
2. ether2 —>Jardiknas
3. ether3 —>Lan

Steps:

1. Give the name of Interfaces Ether1-3 in Interfaces

[admin@MikroTik] interface> pr
Flags: X – disabled, D – dynamic, R – running
# NAME TYPE RX-RATE TX-RATE MTU
0 R Astinet ether 0 0 1500
1 R Jardiknas ether 0 0 1500

1 R Lan ether 0 0 1500

2. Give IP Address for each one ethernet

[admin@mikrotik] > ip address print
Flags: X – disabled, I – invalid, D – dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.205.2 /24 192.168.205.0 192.168.205.255 Astinet
1 192.168.204.2/24 192.168.204.0 192.168.204.255 Jardiknas
2 192.168.9.2/24 192.168.9.0 192.168.9.255 Lan

3. Make Rule

[admin@MikroTik] ip firewall mangle> pr
Flags: X – disabled, I – invalid, D – dynamic
0 chain=prerouting in-interface=Local action=mark-routing
new-routing-mark=pegawai passthrough=yes

3. Set Gateway for each one network

/ip route add gateway=192.168.205.5 dst-address=0.0.0.0/0 routing-mark=Pegawai
/ip route add gateway=192.168.204.5 dst-address=0.0.0.0/0 routing-mark=Mahasiswa

/ip route add gateway=192.168.205.5,192.168.204.5,192.168.205.5
check-gateway=ping routing-mark=Mahasiswa
5. show ip route

[admin@MikroTik] ip> route pr
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o – ospf
# DST-ADDRESS PREF-SRC G GATEWAY DISTANCE INTERFACE
0 ADC 192.168.9.0/24 192.168.9.2 Local
1 ADC 192.168.204.0/24 192.168.204.2 Public
2 ADC 192.168.205.0/24 192.168.205.2 Public
3 A S 0.0.0.0/0 r 192.168.205.5 Public
4 S 0.0.0.0/0 r 192.168.204.5 Public
5 A S 0.0.0.0/0 r 192.168.204.5 Public
r 192.168.205.5 Public
r 192.168.204.5 Public

4. Make rule nat-masquerade for network 192.168.9.0/24

/ip firewall nat add chain=srcnat src-address=192.168.9.0/24 action=masquerade

5. Show nat -masquerade network

[admin@mikrotik] > ip firewall nat print
Flags: X – disabled, I – invalid, D – dynamic
0 ;;; Masquerade Network 192.168.9.0/24
chain=srcnat src-address=192.168.9.0/24 action=masquerade

6. Complete

Source : http://mikrotik.unimedcenter.org/?p=28

Blok scan winbox From neighbour

at 7:35 AM | 0 comments |

After we install mikrotik router os, and afterwards tried browsing from the client’s computer, we felt that router that already finish. afterwards I was opened winbox from the client’s computer, evidently ip mikrotik router property of all the offices could be seen . this meant to give the gap to the person that to test hack the route.

Now you as the network administrator could prevent it, with configuration firewall in mikrotik

1. setting this configuration

admin@mikrotik] interface bridge> filter print
Flags: X – disabled, I – invalid, D – dynamic
0 ;;; block discovery mikrotik
chain=forward in-interface=ether1 mac-protocol=ip dst-port=5678
ip-protocol=udp action=drop
1 ;;; block discovery mikrotik
chain=input in-interface=ether1 mac-protocol=ip dst-port=5678
ip-protocol=udp action=drop
2 ;;; block discovery mikrotik
chain=output mac-protocol=ip dst-port=5678 ip-protocol=udp action=drop
3 ;;; block discovery mikrotik
chain=input in-interface=ether1 mac-protocol=ip dst-port=8291
ip-protocol=tcp action=drop
4 ;;; block winbox mikrotik
chain=forward in-interface=ether1 mac-protocol=ip dst-port=8291
ip-protocol=tcp action=drop
5 ;;; block request DHCP
chain=input mac-protocol=ip dst-port=68 ip-protocol=udp action=drop
6 ;;; block request DHCP
chain=forward mac-protocol=ip dst-port=68 ip-protocol=udp action=drop
7 ;;; block request DHCP
chain=output mac-protocol=ip dst-port=68 ip-protocol=udp action=drop

Source : http://mikrotik.unimedcenter.org/?p=53