12 Juni 2018

3 Teknik Load Balance Dengan MikroTik

3 teknik cara setting load balance 2 isp dengan mikrotik. Bertujuan mendistribusikan trafik dari user ke 2 isp atau lebih. Bukannya untuk menjadikan kapasitas bandwidth menjadi 2x lipat tapi berfungsi membagi beban koneksi kepada kedua isp tersebut agar seimbang.

3 Teknik Load Balance Dengan MikroTik


Kondisi yang perlu ada untuk implementasi load balancing 2 isp atau lebih :
  • Berlangganan internet minimal 2 koneksi ISP / WAN
  • Mikrotik dengan minimal 3 Ethernet/port
  • PC User

Di artikel ini saya akan coba mencontohkan 3 tehnik load balance mikrotik dengan beberapa metode untuk menggabungkan koneksi internet lebih dari satu.
  1. Teknik load balance dengan ECMP
  2. Teknik load balance dengan NTH
  3. Teknik load balance dengan PCC

Contoh Kasus :
Anggap Anda mempunyai / berlangganan 2 paket internet, misalnya berlangganan 2 telkom indihome dalam 1 lokasi, dan mempunyai konfigurasi IP Address seperti :

Modem Indihome 1
IP Address 192.168.0.1
Netmask 255.255.255.0

Modem Indihome 2
IP Address 192.168.1.1
Netmask 255.255.255.0

Dan rencananya ingin kedua koneksi internet indihome tersebut dapat terpakai keduanya untuk kebutuhan koneksi internet PC user dalam jaringan lokal Anda.

Contoh susunan port/interfaces pada mikrotik :
Modem Speedy 1 : ether1-inet1
Modem Speedy 2 : ether2-inet2
LAN : ether3-lan

Tehnik Load Balance Dengan ECMP

Tehnik yang bisa di bilang termudah, hanya menambahkan rule default gateway dengan gateway ISP 1 dan gateway ISP 2. Jika salah satu gateway terputus, pada opsi check-gateway=ping otomatis koneksi menggunakan gateway yang aktif (failover).

Tehnik Load Balance Dengan ECMP


Agar paket respon untuk request masuk dan keluar melalui gateway / interface WAN yang sama, diperlukan marking paket routing.

/ip firewall mangle 
add chain=input in-interface=ether1-inet1 action=mark-connection new-connection-mark=inet1_conn 
add chain=input in-interface=ether2-inet2 action=mark-connection new-connection-mark=inet2_conn 
add chain=output connection-mark=inet1_conn action=mark-routing new-routing-mark=ke_inet1      
add chain=output connection-mark=inet2_conn action=mark-routing new-routing-mark=ke_inet2

/ip route 
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=ke_inet1 
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=ke_inet2


Tehnik Load Balance Dengan NTH

Untuk tehnik kedua ini kita akan buat marking route dengan menggunakan parameter NTH.

/ip firewall mangle 
add action=mark-connection chain=prerouting in-interface=ether3-lan new-connection-mark=inet1_conn nth=2,1
add action=mark-connection chain=prerouting in-interface=ether3-lan new-connection-mark=inet2_conn nth=2,2
add action=mark-routing chain=prerouting connection-mark=inet1_conn new-routing-mark=ke_inet1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=inet2_conn new-routing-mark=ke_inet2 passthrough=no

Setelah membuat marking kita tinggal arahkan jalur trafik ke masing-masing gateway.

/ip route 
add distance=1 gateway=192.168.0.1 routing-mark=ke_inet1 
add distance=1 gateway=192.168.1.1 routing-mark=ke_inet2 
add distance=1 gateway=192.168.0.1,192.168.1.1

Tehnik Load Balance Dengan PCC

PCC (Per Connection Classifier) dapat mengelompokan koneksi yang keluar masuk mikrotik menjadi beberapa bagian. Kelebihan lain menggunakan PCC adalah router dapat mengingat jalur gateway setiap koneksi berkaitan yang keluar masuk agar melewati jalur gateway yang sama untuk menghindari sering putusnya koneksi karena perpindahan gateway.

Di bagian ini kita akan membagi dan menandai beban trafik dari PC user menjadi 2 bagian. 1 bagian melewati gateway modem indihome 1, dan 1 bagian lagi melewati gateway modem indihome 2.

/ip firewall mangle
add action=mark-connection chain=input comment="" connection-state=new \
    disabled=no in-interface=ether1-inet1 new-connection-mark=isp-1 passthrough=yes
add action=mark-connection chain=input comment="" connection-state=new \
    disabled=no in-interface=ether2-inet2 new-connection-mark=isp-2 passthrough=yes
 
add action=mark-routing chain=output comment="" connection-mark=isp-1 \
    disabled=no new-routing-mark=jalur-1 passthrough=no
add action=mark-routing chain=output comment="" connection-mark=isp-2 \
    disabled=no new-routing-mark=jalur-2 passthrough=no
 
add action=mark-connection chain=prerouting comment="" disabled=no \
    dst-address-type=!local in-interface=ether3-lan new-connection-mark=\
    isp-1 passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0
add action=mark-connection chain=prerouting comment="" disabled=no \
    dst-address-type=!local in-interface=ether3-lan new-connection-mark=\
    isp-2 passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1
 
add action=mark-routing chain=prerouting comment="" connection-mark=isp-1 \
    disabled=no in-interface=ether3-lan new-routing-mark=jalur-1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=isp-2 \
    disabled=no in-interface=ether3-lan new-routing-mark=jalur-2 passthrough=yes

Dan kita kembali arahkan marking pcc di atas ke masing-masing gateway.

/ip route 
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.0.1 \
    routing-mark=jalur-1 
add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1 \
    routing-mark=jalur-2
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.0.1
add comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1

Untuk di ketahui load balancing pake teknik pcc ini jalan efektif dan mendekati seimbang jika semakin banyak koneksi dari client. Dan lebih mantab pakai ISP yg mempunyai bandwidth FIX (dedicated) bukan yg up to.