Tutorial Cara Konfigurasi Load Balancing Metode ECMP Pada Router Mikrotik
- Load balancing merupakan sebuah teknik yang digunakan untuk membagi
traffic melalui 2 atau lebih jalur koneksi secara seimbang dan merata,
tujuan dari load balancing yaitu untuk mengoptimalkan throughput,
mengurangi respone time, dan juga menghindari overload atau penumpukan
traffic pada salah satu jalur koneksi (link) yang dapat menyebabkan
koneksi menjadi down.
Pada
tutorial sebelumnya saya sudah membahas bagaimana cara konfigurasi load
balancing 2 ISP dengan metode PCC (Per Connection Classifier) pada
router mikrotik yang bisa sobat pelajari melalui link di bawah ini.
Sekarang
saya akan membahas metode load balancing yang lain, yaitu load
balancing metode ECMP (Equal Cost Multi Path), apa itu ECMP ? ECMP
adalah salah satu teknik load balancing yang menggunakan algoritma round
robin (acak) yang berdasarkan kombinasi antara src-address dan
dst-address atau lebih dikenal dengan istilah Per address pair load balancing.
Load balancing ECMP dilakukan dengan cara mengkonfigurasi beberapa default gateway sekaligus dengan distance yang sama, dengan begitu maka router akan selalu menggunakan gateway-gateway tersebut secara bersamaan, tentunya dengan menerapkan mekanisme round robin, yaitu traffic akan dilewatkan secara acak oleh router.
Selain
itu, load balancing metode ECMP juga sudah mendukung fitur failover
karena begitu salah satu gateway terputus atau unreachable, maka
check-gateway (ping) akan otomatis menonaktifkan gateway yang terputus
lalu mengalihkannya ke gateway yang masih aktif.
Cara Konfigurasi Load Balancing 2 ISP Dengan Metode ECMP
Sekarang
mari kita mulai tahap konfigurasinya, syarat utama untuk menerapkan
konfigurasi load balancing pada router yaitu harus memiliki 2 atau lebih
jalur koneksi (link) untuk menuju ke network lain.
Dalam
hal ini yaitu link melalui ISP untuk menuju ke jaringan internet.
Teknik load balancing ini biasanya digunakan apabila kita berlangganan
beberapa koneksi internet ke ISP yang berbeda lalu ingin
menggabungkannya ke dalam satu router yang sama.
- Router yang digunakan yaitu tipe RB951Ui-2HnD
- Interface ether1 terhubung ke ISP-1
- Interface ether2 terhubung ke ISP-2
- Interface ether3 terhubung ke switch sebagai gateway untuk jaringan lokal
Jika kondisi di jaringan kamu tidak sama, silahkan disesuaikan saja ya, sekarang saatnya kita konfig load balance-nya, buka New Terminal mikrotik kemudian paste script-script dibawah ini.
#1. Tambahkan Konfigurasi IP address
Pertama, kita tambahkan alamat IP pada masing-masing interface
router, yaitu ether1 dan ether2 untuk WAN, sedangkan ether3 untuk gateway jaringan LAN.
/ip address
add address=192.168.90.2/30 comment=ISP-1 interface=ether1 network=192.168.90.0
add address=192.168.91.2/30 comment=ISP-2 interface=ether2 network=192.168.91.0
add address=192.168.1.1/24 comment="Local Network" interface=ether3 network=192.168.1.0
#2. Konfigurasi DNS Resolver
Berikutnya,
tambahkan konfigurasi DNS resolver, tujuannya agar router dapat menjangkau semua
alamat domain yang ada di internet. Tanpa konfigurasi DNS maka router
hanya bisa menjangkau alamat IP saja (tidak bisa browsing melalui browser).
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
#3. Konfigurasi Rule NAT Masquerade
Agar
komputer dan device lainnya yang berada di bawah router dapat terhubung
ke internet, maka kita perlu menambahkan rule NAT (network address
translation) masquerade, rule NAT ini harus dibuat 2 rule sesuai dengan
jumlah link ISP yang dipakai.
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=ether2
#4. Konfigurasi Entri Routing
Setelah konfigurasi dasar selesai dilakukan, sekarang saatnya kita konfigurasi load balance ECMP, caranya cukup mudah karena kita hanya perlu menambahkan entri default route saja.
/ip route
add check-gateway=ping distance=1 gateway=192.168.90.1,192.168.91.1
Hasil dari penambahan entri routing diatas akan terlihat seperti ini pada routing table router.[admin@dodiventuraz.net] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S 0.0.0.0/0 192.168.90.1 1
192.168.91.1
1 ADC 192.168.1.0/24 192.168.1.1 ether3 0
2 ADC 192.168.90.0/30 192.168.90.2 ether1 0
3 ADC 192.168.91.0/30 192.168.91.2 ether2 0
Perhatikan
table routing di atas, bisa dilihat bahwa dst-address 0.0.0.0/0 dapat
dijangkau melalui 2 gateway sekaligus, yaitu gateway 192.168.90.1 dan
192.168.91.1 yang memiliki nilai distance yang sama.Dengan begitu, maka traffic yang keluar menuju internet akan dilewatkan melalui kedua gateway tersebut oleh router secara bersamaan dan acak. Sebagai contoh, misalnya saja ada client di bawah router akan mengakses situs www.tutorialjaringan.com, maka traffic yang menuju ke situs tersebut bisa saja oleh router dilewatkan melalui gateway ISP-1 dan bisa juga dilewatkan melalui gateway ISP-2.
Oh ya, ketika saya membuat tutorial ini, bandwidth yang saya dapatkan dari kedua ISP memiliki alokasi bandwidth yang sama yaitu masing-masing sebesar 5 Mbps.
Pertanyaannya, bagaimana jika alokasi bandwidth yang diterima dari kedua ISP berbeda? misalnya alokasi bandwidth dari ISP-1 sebesar 4 Mbps, sedangkan dari ISP-2 hanya 2 Mbps saja?
Untuk kasus seperti ini, kita bisa membuat perbandingan. Karena ISP-1 memiliki alokasi bandwidth sebesar 4 Mbps dan ISP-2 hanya 2 Mbps, maka kita bisa membuat perbandingan 2:1, sehingga default route ke ISP-1 bisa kita buat 2 gateway sedangkan ke ISP-2 cukup 1 gateway saja.
/ip route
add check-gateway=ping distance=1 gateway=192.168.90.1,192.168.90.1,192.168.91.1
[admin@dodiventuraz.net] > /ip route print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S 0.0.0.0/0 192.168.91.1 1
192.168.90.1
192.168.90.1
1 ADC 192.168.1.0/24 192.168.1.1 ether3 0
2 ADC 192.168.90.0/30 192.168.90.2 ether1 0
3 ADC 192.168.91.0/30 192.168.91.2 ether2 0
Dengan
begitu maka diharapkan nantinya traffic akan lebih sering dilewatkan
oleh router melalui jalur ISP-1 karena memiliki alokasi bandwidth yang
paling besar.
#5. Konfigurasi Mangle
Load
balancing ECMP merupakan metode load balancing yang simple karena kita
cukup mengkonfigurasi beberapa default route secara bersamaan dengan
nilai distance yang sama.
Namun
karena load balance ECMP menerapkan algoritma round robin, yaitu
pendistribusian traffic outgoing secara acak dan tidak konsisten, maka
akan menimbulkan masalah baru apabila metode ECMP ini diterapkan pada
jaringan yang memiliki Server DMZ ataupun port forwarding.
Contoh,
manakala ada traffic masuk dari luar jaringan atau internet menuju
router (incoming packet) melalui ISP-1, maka traffic respon (outgoing)
dari router akan terkena load balance juga sehingga bisa saja router
akan meresponnya melalui link ISP-2.
Untuk
menghindari hal seperti ini, maka kita harus membuat aturan atau
penandaan paket pada mangle agar traffic outgoing bisa sesuai dengan
packet incoming yang masuk melalui interface router.
/ip firewall mangle
add action=mark-connection chain=input in-interface=ether1 new-connection-mark=Conn-ISP1
add action=mark-connection chain=input in-interface=ether2 new-connection-mark=Conn-ISP2
add action=mark-routing chain=output connection-mark=Conn-ISP1 new-routing-mark=Jalur-ISP1
add action=mark-routing chain=output connection-mark=Conn-ISP2 new-routing-mark=Jalur-ISP2
/ip route
add distance=1 gateway=192.168.90.1 routing-mark=Jalur-ISP1
add distance=1 gateway=192.168.91.1 routing-mark=Jalur-ISP2
Sampai disini konfigurasi load balance metode ECMP dengan 2 line ISP
sudah selesai, untuk membuktikan apakah konfigurasi load balace sudah
berhasil atau belum, kamu bisa melihat traffic pada kedua interface
router yaitu ether1 dan ether2.Demikian semoga bermanfaat dan terima kasih.
Advertisement