Load balance pada mikrotik adalah teknik untuk mendistribusikan beban
trafik pada dua atau lebih jalur koneksi secara seimbang, agar trafik
dapat berjalan optimal, memaksimalkan throughput, memperkecil waktu
tanggap dan menghindari overload pada salah satu jalur koneksi.
Skenario :
1. ether1 dan ether2 terhubung pada internet service provider yang
berbeda dengan besar bandwdith yang berbeda. ISP1 sebesar 512kbps dan
ISP2 sebesar 256kbps
2. menggunakan web-proxy internal dan openDNS
3. Mikrotik RouterOS versi 4.5, karena fitur PCC mulai dikenal pada Mikrotik versi 3.24
konfigurasi
1
2
3
4
5
6
| /ip address add address=192.168.101.2 /30 interface=ether1 add address=192.168.102.2 /30 interface=ether2 add address=10.10.10.1 /24 interface=wlan2 /ip dns set allow-remote-requests= yes primary-dns=208.67.222.222 secondary-dns=208.67.220.220 |
1
2
3
| /ip route add dst-address=0.0.0.0 /0 gateway=192.168.101.1 distance=1 check-gateway= ping add dst-address=0.0.0.0 /0 gateway=192.168.102.1 distance=2 check-gateway= ping |
1
2
| /interface wireless set wlan2 mode=ap-bridge band=2.4ghz-b /g ssid=Mikrotik disabled=no |
1
2
3
| /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 add action=masquerade chain=srcnat out-interface=ether2 |
Webproxy Internal
Pada routerboard tertentu, seperti RB450G, RB433AH, RB433UAH, RB800 dan RB1100 mempunyai expansion slot (USB, MicroSD, CompactFlash) untuk storage tambahan. Pada contoh berikut akan menggunakan usb flashdisk yang dipasangkan pada slot USB. Untuk pertama kali pemasangan, storage tambahan ini akan terbaca statusnya invalid di /system store. Agar dapat digunakan sebagai media penyimpan cache, maka storage harus diformat dahulu dan diaktifkan Nantinya kita tinggal mengaktifkan webproxy dan set cache-on-disk=yes untuk menggunakan media storage. Jangan lupa untuk membelokkan trafik HTTP (tcp port 80) kedalam webproxy.
1
2
3
4
5
6
| /store disk format -drive usb1 /store add disk=usb1 name=cache-usb type =web-proxy activate cache-usb /ip proxy set cache-on-disk= yes enabled= yes max-cache-size=200000KiB port=8080 /ip firewall nat add chain=dstnat protocol=tcp dst-port=80 in -interface=wlan2 action=redirect to-ports=8080 |
Pada load balancing kali ini yang akan digunakan adalah fitur yang disebut PCC (Per Connection Classifier). Dengan PCC anda bisa mengelompokan trafik koneksi yang melalui atau keluar masuk router menjadi beberapa kelompok. Pengelompokan ini bisa dibedakan berdasarkan src-address, dst-address, src-port dan atau dst-port. Router akan mengingat-ingat jalur gateway yang dilewati diawal trafik koneksi, sehingga pada paket-paket selanjutnya yang masih berkaitan dengan koneksi awalnya akan dilewatkan pada jalur gateway yang sama juga. Kelebihan dari PCC ini yang menjawab banyaknya keluhan sering putusnya koneksi pada teknik load balancing lainnya sebelum adanya PCC karena perpindahan gateway.
Sebelum membuat mangle load balance, untuk mencegah terjadinya loop routing pada trafik, maka semua trafik client yang menuju network yang terhubung langsung dengan router, harus di bypass dari load balancing.Anda dapat membuat daftar IP yang masih dalam satu network router dan memasang mangle pertama kali sebagai berikut :
1
2
3
4
5
6
7
| /ip firewall address-list add address=192.168.101.0 /30 list=lokal add address=192.168.102.0 /30 list=lokal add address=10.10.10.0 /24 list=lokal /ip firewall mangle add action=accept chain=prerouting dst-address-list=lokal in -interface=wlan2 comment=”trafik lokal” add action=accept chain=output dst-address-list=lokal |
1
2
3
| /ip firewall mangle add action=mark-connection chain=prerouting connection-mark=no-mark in -interface=ether1 new-connection-mark=con-from-isp1 passthrough= yes comment=”trafik dari isp1” add action=mark-connection chain=prerouting connection-mark=no-mark in -interface=ether2 new-connection-mark=con-from-isp2 passthrough= yes comment=”trafik dari isp2” |
1
2
| /ip firewall mangle add action=mark-connection chain=output comment=dns dst-address=202.65.112.21 dst-port=53 new-connection-mark=dns passthrough= yes protocol=tcp
comment=”trafik DNS belajar.org” add action=mark-connection
chain=output dst-address=202.65.112.21 dst-port=53
new-connection-mark=dns passthrough= yes protocol=udp add action=mark-routing chain=output connection-mark=dns new-routing-mark=route-to-isp1 passthrough=no |
1
2
| /ip firewall mangle add action=jump chain=prerouting comment=”lompat ke client-lb” connection-mark=no-mark in -interface=wlan2
jump-target=client-lb add action=jump chain=output comment=”lompat ke
lb-proxy” connection-mark=no-mark out-interface=!wlan2
jump-target=lb-proxy |
1
2
3
4
5
| /ip firewall mangle add action=mark-connection chain=client-lb dst-address- type =! local new-connection-mark=to-isp1 passthrough= yes per-connection-classifier=both-addresses:3 /0 comment=”awal loadbalancing klien” add action=mark-connection chain=client-lb dst-address- type =! local new-connection-mark=to-isp1 passthrough= yes per-connection-classifier=both-addresses:3 /1 add action=mark-connection chain=client-lb dst-address- type =! local new-connection-mark=to-isp2 passthrough= yes per-connection-classifier=both-addresses:3 /2 add action= return chain=client-lb comment=”akhir dari loadbalancing” |
1
2
3
4
5
| /ip firewall mangle add action=mark-connection chain=lb-proxy dst-address- type =! local new-connection-mark=con-from-isp1 passthrough= yes per-connection-classifier=both-addresses:3 /0 comment=”awal load balancing proxy” add action=mark-connection chain=lb-proxy dst-address- type =! local new-connection-mark=con-from-isp1 passthrough= yes per-connection-classifier=both-addresses:3 /1 add action=mark-connection chain=lb-proxy dst-address- type =! local new-connection-mark=con-from-isp2 passthrough= yes per-connection-classifier=both-addresses:3 /2 add action= return chain=lb-proxy comment=”akhir dari loadbalancing” |
1
2
3
4
5
6
7
| /ip firewall mangle add action=jump chain=prerouting comment=”marking route client” connection-mark=!no-mark in -interface=wlan2 jump-target=route-client add action=mark-routing chain=route-client connection-mark=to-isp1 new-routing-mark=route-to-isp1 passthrough=no add action=mark-routing chain=route-client connection-mark=to-isp2 new-routing-mark=route-to-isp2 passthrough=no add action=mark-routing chain=route-client connection-mark=con-from-isp1 new-routing-mark=route-to-isp1 passthrough=no add action=mark-routing chain=route-client connection-mark=con-from-isp2 new-routing-mark=route-to-isp2 passthrough=no add action= return chain=route-client disabled=no |
1
2
3
| /ip firewall mangle add
action=mark-routing chain=output comment=”marking route proxy”
connection-mark=con-from-isp1 new-routing-mark=route-to-isp1
out-interface=!wlan2 passthrough=no add
action=mark-routing chain=output connection-mark=con-from-isp2
new-routing-mark=route-to-isp2 out-interface=!wlan2 passthrough=no |
Pengaturan mangle diatas tidak akan berguna jika anda belum membuat routing berdasar mark-route yang sudah dibuat. Pada tahap ini akan membuat routing backup, sehingga apabila sebuah gateway terputus, maka semua koneksi akan melewati gateway yang masing terhubung.
1
2
3
4
5
| /ip route add check-gateway= ping dst-address=0.0.0.0 /0 gateway=192.168.101.1 routing-mark=route-to-isp1 distance=1 add check-gateway= ping dst-address=0.0.0.0 /0 gateway=192.168.102.1 routing-mark=route-to-isp1 distance=2 add check-gateway= ping dst-address=0.0.0.0 /0 gateway=192.168.102.1 routing-mark=route-to-isp2 distance=1 add check-gateway= ping dst-a Sumber : http://hertasmin.blogspot.com/2013/04/load-balance-mikrotik-dengan-konsep-pcc.html |
0 comments:
Post a Comment