Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Load Balancing 2 ISP + Failover 3 ISP

(PCC dan Recursive Route)


Pada lab ini, anggap saja kita mempunyai 3 ISP (2 dedicated bandwidth 50Mbps dan 1 shared bandwidth
100Mbps). Jika kita melakukan load balancing sekaligus ke 3 ISP tersebut maka performa jaringan kita
akan menjadi tidak optimal karena ada 1 ISP memiliki shared bandwidth. Meskipun angkanya lebih besar
daripada yang dedicated, tetapi shared artinya 100Mbps itu masih dibagi-bagi lagi, biasanya bandwidth
rata-rata yang kita dapatkan hanya sekitar 15-20Mbps.

Oleh karena itu, kita hanya akan melakukan load balancing menggunakan 2 ISP yang memiliki dedicated
bandwidth. Sementara ISP yang memiliki shared bandwidth akan dijadikan sebagai backup ketika semua
ISP dedicated bandwidth mengalami masalah (down).

Syarat untuk memahami artikel ini, kamu harus memahi hal-hal berikut:

Pengalamatan IPv4

Konsep Firewall Mikrotik

Static Route

Referensi:

Pengenalan IPv4

Subnetting IPv4

[VIDEO] Citraweb: Konfigurasi Dasar Mikrotik

Pengenalan Fungsi Routing Dasar

Mikrotik Docs: Firewall

Mikrotik Docs: PCC

Akses Cepat:

Topologi

Preconfig

Konfigurasi Load Balance & Failover


Pengujian

A. TOPOLOGI
B. Hostname Interface Address

ISP-1 (to Gateway) 11.11.11.1/24

ISP-2 (to Gateway) 22.22.22.1/24

ISP-3 (to Gateway) 33.33.33.1/24

ether1-ISP1 11.11.11.254/24

ether2-ISP2 22.22.22.254/24
Gateway
ether3-ISP3 33.33.33.254/24

ether4-LAN 192.168.1.1/24

PC (LAN) eth (to Gateway) 192.168.1.X/24

B. PRECONFIG

1. Konfigurasi IP Address

## berikut ini konfigurasi IP menggunakan cara statis,


## bisa juga menggunakan cara dinamis (dhcp-client).
/ip address
add address=11.11.11.254/24 interface=ether1-ISP1
add address=22.22.22.254/24 interface=ether1-ISP2
add address=33.33.33.254/24 interface=ether1-ISP3
add address=192.168.100.1/24 interface=ether4-LAN

2. Konfigurasi DNS Server

## jangan gunakan DNS bawaan ISP,


## karena terkadang penggunaanya dibatasi.
## gunakan ip public: 8.8.8.8, 208.67.222.222, 208.67.220.220,
dll atau dns private milikmu sendiri.
/ip dns
set servers=8.8.8.8,208.67.222.222

3. Interface List
Untuk mempermudah identifikasi dan konfigurasi, kelompokan interface menjadi
kelompok LAN untuk interface yang mengarah ke jaringan lokal dan WAN untuk
interface yang menuju ke jaringan publik (ISP).

/interface list
add name=LAN
add name=WAN
/interface list member
add interface=ether1-ISP1 list=WAN
add interface=ether2-ISP2 list=WAN
add interface=ether3-ISP3 list=WAN
add interface=ether4-LAN list=LAN

4. NAT

/ip firewall nat


add action=masquerade chain=srcnat out-interface-list=WAN

C. Konfigurasi Load Balancing dan Failover

Load balancing adalah teknologi yang memungkinkan pembagian traffic koneksi ke


beberapa jalur koneksi secara seimbang. Contoh pada lab kita kali ini, setiap traffic dari
client ke internet akan diteruskan ke dua ISP (ISP1 dan ISP2).

Failover memungkinkan traffic tetap bisa diteruskan ke internet meskipun salah satu
jalurnya mati. Failover merupakan hal yang (harusnya) melekat pada load balancing.
Kalau ada load balancing pasti ada failover. Contoh: kita akan load balancing
menggunakan ISP1 dan ISP2, ketika ISP1 mati maka traffic tetap bisa diteruskan
melalui ISP2. Demikian pula sebaliknya, ketika ISP2 mati maka traffic tetap bisa
diteruskan melalui ISP1.

Nah, di lab ini, kita sebenarnya punya 3 ISP, kita akan membuat ISP3 sebagai backup
ketika ISP1 dan ISP2 mati. Kenapa ISP3 tidak diload balance? Karena IPS3 memiliki
shared bandwidth (bandwidthnya tidak tetap) sehingga berpotensi membuat jaringan
tidak optimal.

Sebelum memulai konfigurasi, supaya mempermudah membuat rule mangle, buatlah


address list yang isinya alamat network LAN dan network yang langsung terkoneksi ke
router. Contoh pada topologi di atas, ada ether1-ISP1, ether2-ISP2, ether3-ISP3, dan
jaringan LAN (hanya 1), maka:

/ip firewall address-list


add address=11.11.11.0/24 list=LAN
add address=22.22.22.0/24 list=LAN
add address=33.33.33.0/24 list=LAN
add address=192.168.100.0/24 list=LAN

Jika sudah, buatlah mangle yang berfungsi untuk menandai paket yang berasal dari
(address-list) LAN menuju ke selain (address-list) LAN. Selain itu mangle ini juga akan
membagi (load balance) setiap paket yang lewat menggunakan metode PCC (Per
Connection Classifier). Paket tersebut bisa diklasifikasikan berdasarkan src-address,
src-port, dst-address, dan dst-port.

1. Firewall Mangle

/ip firewall mangle


add action=mark-routing chain=prerouting src-address-list=LAN
dst-address-list=!LAN \
dst-address-type=!local new-routing-mark=route_to_ISP1
passthrough=no \
per-connection-classifier=both-addresses:2/0
add action=mark-routing chain=prerouting src-address-list=LAN
dst-address-list=!LAN \
dst-address-type=!local new-routing-mark=route_to_ISP2
passthrough=no \
per-connection-classifier=both-addresses:2/1

Nah sesuai konfig di atas, untuk lab ini, kita akan menggunakan src-address dan dst-
address saja (both-address) untuk mengklasifikasikan paket yang lewat. Jadi setiap
paket yang lewat akan diberi mark route_to_ISP1 dan route_to_ISP2 secara bergantian
sesuai nilai denominator dan remainder.

Contoh, karena bandwidth ISP1 dan ISP2 sama yaitu 50MB, maka kita bisa
membaginya dengan perbandingan 1:1. Sehingga kita bagi menjadi dua grup saja.
Jumlah grup tersebut adalah nilai denominator. Sedangkan nilai remainder adalah nilai
index grup tersebut, contoh grup kita ada 2, maka kita akan buat mangle dengan
remainder 0 dan 1 (remainder dimulai dari 0).
Grup 0 akan diberi mark route_to_ISP1.
Grup 1 akan diberi mark route_to_ISP2.

Hal yang berbeda, jika kita punya 2 ISP yang memiliki bandwidth berbeda: 30Mbps dan
10Mbps. Maka kita bisa menggunakan perbandingan 3:1. Berarti nilai denominator-nya
adalah 4, dan grupnya (remainder) ada 4 (0,1,2,3). Agar seimbang dan optimal, 3 grup
(contoh:0,1,2) diberi mark untuk diteruskan ke ISP 30Mbps, sementara 1 grup sisanya
diberi mark untuk ISP yang 10Mbps. Tapi kasus kita ini bandwidthnya sama, maka kita
bisa gunakan perbandingan 1:1 saja.

Karakter load balancing PCC both-address adalah paket yang memiliki source address
dan destination address yang sama akan selalu dilewatkan ke internet melalui ISP yang
sama, selama masih ada session yang established.
Contoh:
1. Src:192.168.1.5, Dst:8.8.8.8, dilewatkan melalui ISP1.
2. Src:192.168.1.5, Dst:157.240.208.35, dilewatkan melalui ISP2.
3. Src:192.168.1.7, Dst:157.240.208.35, dilewatkan melalui ISP1.
4. Src:192.168.1.8, Dst:13.250.177.223, dilewatkan melalui ISP2.

Misalkan ada paket ke-5 seperti ini:


5. Src:192.168.1.5, Dst:157.240.208.35
Jika session paket nomor 2 di atas masih ADA, maka akan dilewatkan melalui ISP2.
Jika session paket nomor 2 di atas sudah TIDAK ADA, maka akan dilewatkan melalui
ISP1.

Selanjutnya kita buat recursive route menggunakan protocol static route untuk me-route
traffic ke internet. Kita catat dulu gateway masing-masing ISP.
ISP1: 11.11.11.1
ISP2: 22.22.22.1
ISP3: 33.33.33.1

Karena ada 3 ISP yang akan kita gunakan untuk recursive route ke internet, maka kita
memerlukan 3 IP publik yang ada di internet untuk dijadikan recursive default gateway.
Pastikan IP ini bisa di-ping dan jarang down.
ISP1: 11.11.11.1 ==> 1.0.0.1
ISP2: 22.22.22.1 ==> 1.1.1.1
ISP3: 33.33.33.1 ==> 8.8.4.4

/ip route

## Static host route ke public ip yang ada di internet.


## Atur nilai scope yang baru (bedakan dari default scope=30),
contoh=25.
add distance=1 dst-address=1.0.0.1/32 gateway=11.11.11.1
scope=25
add distance=1 dst-address=1.1.1.1/32 gateway=22.22.22.1
scope=25
add distance=1 dst-address=8.8.4.4/32 gateway=33.33.33.1
scope=25

## Default gateway untuk me-route traffic yang berasal dari


router itu sendiri.
## Nilai target-scope samakan dengan nilai scope pada static
host route.
## Parameter check-gateway=ping membuat router melakukan ping ke
gateway setiap interval 10 detik,
## Jika ping 2x timeout secara berturut turut,
## maka link ke ISP yang recursive ke gateway tersebut dianggap
down.
add check-gateway=ping distance=1 gateway=1.0.0.1 target-
scope=25
add check-gateway=ping distance=2 gateway=1.1.1.1 target-
scope=25
add check-gateway=ping distance=3 gateway=8.8.4.4 target-
scope=25

## Default gateway untuk me-route traffic yang diberi mark


route_to_ISP1.
## Nilai target-scope samakan dengan nilai scope pada static
host route.
## Atur prioritas menggunakan distance: ISP1, ISP2, ISP3
add distance=1 gateway=1.0.0.1 routing-mark=route_to_ISP1
target-scope=25
add distance=2 gateway=1.1.1.1 routing-mark=route_to_ISP1
target-scope=25
add distance=3 gateway=8.8.4.4 routing-mark=route_to_ISP1
target-scope=25

## Default gateway untuk me-route traffic yang diberi mark


route_to_ISP2.
## Nilai target-scope samakan dengan nilai scope pada static
host route.
## Atur prioritas menggunakan distance: ISP2, ISP1, ISP3
add distance=1 gateway=1.1.1.1 routing-mark=route_to_ISP2
target-scope=25
add distance=2 gateway=1.0.0.1 routing-mark=route_to_ISP2
target-scope=25
add distance=3 gateway=8.8.4.4 routing-mark=route_to_ISP2
target-scope=25

Nah berikut hasil konfigurasi mangle dan routing.

D. PENGUJIAN

1. Traceroute dari client (LAN) ke internet.

Biasanya setiap traceroute ke tujuan yang berbeda akan melewati ISP yang berebeda.
Tetapi kalau kamu mengetesnya melalui PC client yang ramai koneksinya, ketika
traceroute mungkin selalu melewati ISP yang sama.

2. Matikan modem ISP1

Ketika ISP1 down, maka dalam waktu kurang dari 30 detik, active route akan beralih ke
ISP2.
3. Matikan modem ISP1 dan ISP2

Ketika ISP2 down, maka dalam waktu kurang dari 30 detik, active route akan beralih ke
ISP3.

Apakah total bandwidthnya menjadi sama dengan akumulasi total bandwidth


ISP1 dan ISP2? Ya total bandwidth menjadi 50+50 = 100Mbps, tetapi ketika melakukan
download single file, maka maksimal 50Mbps karena setiap paket yang memiliki src-
address dan dst-address yang sama akan hanya melewati salah satu ISP saja.

You might also like