Load Balance Metode ECMP
Dengan banyaknyak metode load balance, kadang kita bingung ingin menggunakan metode yang mana. Terlebih lagi banyak metode yang hanya dengan melihat konfigurasinya saja, kita dibuat pusing. Kali ini kita akan coba tips load balance yang cukup mudah dalam hal konfigurasi dan sangat menarik untuk dicoba. Load balance dengan metode ECMP, yang merupakan improvisasi dari metode round robin load balance. Load balance sendiri merupakan teknik untuk menggabungkan koneksi internet lebih dari satu, contoh topologi :
Kita coba bahas load balance dengan 2 koneksi internet. Setting awal sama seperti kita setting router agar router dan client dibawah router bisa terkoneksi ke internet. Karena ada dua koneksi internet, maka akan ada 2 rule NAT masquerade.
Setelah konfigurasi standart koneksi ke internet selesai, selanjutnya kita bisa mulai setting Load balance ECMP. Caranya cukup mudah, tinggal tambahkan rule default gateway dengan dst-address = 0.0.0.0 dan gateway=ISP-A,ISPB
ECMP merupakan "persistent per-connection load balancing" atau "per-src-dst-address combination load balancing". Begitu salah satu gateway unreachable atau terputus, check-gateway akan menonaktifkan gateway tersebut dan menggunakan gateway yang masih aktif, sehingga kita bisa mendapatkan effect failover.
Jika kita memiliki line/koneksi internet yang berbeda kecepatan bandwidth, kita bisa membuat perbandingan untuk membagi beban. Misalkan kita punya bandiwdth 2 MBps dan 8 Mbps. Jika kita buat perbandingan, akan menjadi 1:4.
Dengan adanya lebih dari satu gateway, terkadang membuat masalah baru pada router, ke gateway mana router akan terkoneksi. Kasusnya adalah ketika ada paket masuk ke router (incoming) yang berasal dari luar (Internet), trafik respons dari router (outgoing) akan terkena loadbalance juga. Sehingga paket respon untuk request yang diterima dari interface WAN 1, bisa jadi dikirim melalui interface WAN 2. Untuk menghindari hal tersebut, kita perlu membuat aturan routing agar koneksi outgoing router tetap melalui interface yang sama dengan interface trafik incomingnya.
/ip firewall mangle
add chain=input in-interface=ether1-ISP-A action=mark-connection new-connection-mark=ISP-A_conn add chain=input in-interface=ether2-ISP-B action=mark-connection new-connection-mark=ISP-B_conn add chain=output connection-mark=ISP-A_conn action=mark-routing new-routing-mark=ke_ISP-A add chain=output connection-mark=ISP-B_conn action=mark-routing new-routing-mark=ke_ISP-B /ip route add dst-address=0.0.0.0/0 gateway=10.0.0.1 routing-mark=ke_ISP-A add dst-address=0.0.0.0/0 gateway=172.16.0.1 routing-mark=ke_ISP-B |
Permasalahan yang serng timbul adalah ketika kita melakukan setting dengan DNS salah satu ISP, maka ketika ISP tersebut down, koneksi DNS ke ISP kedua tidak berjalan. Untuk mengatasi hal tersebut, kita bisa gunakan open DNS, misal DNS Google 8.8.8.8 .