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.
Kondisi dari topologi diatas masih sama dengan tutorial sebelumnya, yaitu sebagai berikut :
- 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.