Load Balance PCC dengan failover
Terkadang kita mendapati koneksi internet yang lambat atau down saat salah satu penyedia layanan (ISP) bermasalah? Pelajari cara mengimplementasikan Load Balancing Per-Connection Classifier (PCC) dengan fitur Failover di router Anda! Metode ini memungkinkan Anda menggabungkan dua atau lebih jalur koneksi internet (multiple WAN) untuk memaksimalkan bandwidth dan memastikan koneksi tetap berjalan (failover) jika salah satu jalur utama terputus.
Dalam postingan ini, kita akan belajar bersama:
Konfigurasi Dasar
Address-list (Pendefinisian IP Lokal): Blok perintah ini mendefinisikan range alamat IP privat standar (192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8) ke dalam address-list bernama
LOCAL-IP. Ini penting untuk membedakan lalu lintas internal (lokal) dari lalu lintas eksternal (internet) saat membuat rule Mangle.# Adress-list /ip firewall address-list add address=192.168.0.0/16 list=LOCAL-IP add address=172.16.0.0/12 list=LOCAL-IP add address=10.0.0.0/8 list=LOCAL-IPFirewall NAT (Network Address Translation): Rule
srcnat(Source NAT) ini memastikan semua lalu lintas yang keluar melalui antarmukawan1danwan2diterjemahkan (action=masquerade) agar menggunakan alamat IP publik dari masing-masing ISP. Ini memungkinkan perangkat di jaringan lokal dapat mengakses internet.# Firewall nat /ip firewall nat add chain=srcnat out-interface="wan1" action=masquerade add chain=srcnat out-interface="wan2" action=masquerade
Mangle Rules: Inti dari PCC dan Failover
Bagian mangle adalah kunci dari Load Balancing PCC. Aturan-aturan ini bertugas menandai (mark) koneksi dan rute lalu lintas:
Menandai Koneksi Balik (Reply Traffic): Rule pertama (
chain=input) memastikan lalu lintas balasan (reply) dari internet ditandai sesuai dengan antarmuka WAN tempat mereka masuk (cm-wan1ataucm-wan2).Menandai Rute untuk Reply Traffic: Rule kedua (
chain=output) memastikan lalu lintas yang berasal dari router itu sendiri (misalnya ping dari router) dan merupakan bagian dari koneksi yang sudah ditandai akan diarahkan kembali ke jalur WAN yang sesuai (to-wan1atauto-wan2).Implementasi PCC (Load Balancing): Rule
preroutingdenganper-connection-classifier=both-addresses-and-ports:2/0dan:2/1adalah inti dari PCC. Ini membagi lalu lintas baru menjadi dua kelompok (cm-wan1dancm-wan2) berdasarkan kombinasi alamat IP dan port (sumber dan tujuan). Pembagian2/0dan2/1mengindikasikan pembagian ke 2 jalur (2) dengan mengambil sisa bagi (0 dan 1), sehingga beban dibagi rata 50:50 ke dua jalur WAN.Menandai Rute (Routing Mark): Rule terakhir (
chain=prerouting) mengarahkan koneksi yang sudah ditandai (cm-wan1ataucm-wan2) ke jalur rute tertentu (to-wan1atauto-wan2) agar keluar melalui WAN yang benar.# Mangle rules to mark traffic /ip firewall mangle add action=mark-connection chain=input in-interface="wan1" new-connection-mark="cm-wan1" passthrough=yes add action=mark-connection chain=input in-interface="wan2" new-connection-mark="cm-wan2" passthrough=yes add action=mark-routing chain=output connection-mark="cm-wan1" new-routing-mark="to-wan1" passthrough=yes add action=mark-routing chain=output connection-mark="cm-wan2" new-routing-mark="to-wan2" passthrough=yes add action=mark-connection chain=prerouting dst-address-list=!LOCAL-IP dst-address-type=!local new-connection-mark="cm-wan1" passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0 src-address-list=LOCAL-IP add action=mark-connection chain=prerouting dst-address-list=!LOCAL-IP dst-address-type=!local new-connection-mark="cm-wan2" passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1 src-address-list=LOCAL-IP add action=mark-routing chain=prerouting connection-mark="cm-wan1" dst-address-list=!LOCAL-IP new-routing-mark="to-wan1" passthrough=yes src-address-list=LOCAL-IP add action=mark-routing chain=prerouting connection-mark="cm-wan2" dst-address-list=!LOCAL-IP new-routing-mark="to-wan2" passthrough=yes src-address-list=LOCAL-IP
Route Gateway: Mengaktifkan Failover
Konfigurasi rute ini adalah tempat Failover diimplementasikan menggunakan distance (metrik) dan check-gateway=ping.
Rute untuk Marked Traffic:
Setiap jalur (
to-ether1danto-ether2) memiliki rute utama dengandistance=1(cek ping ke IP publik 1.1.1.1 dan 8.8.8.8 yang dapat diganti dengan IP gateway ISP atau IP public yang stabil) dan rute cadangan (backup) dengandistance=2. Jika rute utama (distance=1) down (tidak dapat ping), router akan otomatis mengalihkan lalu lintas ke rute cadangan (distance=2) ISP lain.
Rute Default (untuk Lalu Lintas yang Tidak Ditandai):
Rule dengan gateway ISP1 (
distance=1) dan ISP2 (distance=2) tanpa routing-mark berfungsi sebagai default route. Default route dengan distance terkecil akan menjadi rute utama jika ada lalu lintas yang tidak ditangani oleh routing-mark PCC.
Rute Management: Rule terakhir memastikan ping untuk check-gateway diarahkan melalui gateway ISP yang benar (policy routing), mencegah loop rute.
# Route Gateway /ip route add check-gateway=ping comment=isp1 distance=1 gateway=1.1.1.1 routing-mark=\ to-ether1 target-scope=30 add comment="backup isp2" distance=2 gateway=gateway_address_isp2 routing-mark=\ to-ether1 add check-gateway=ping comment=isp2 distance=1 gateway=8.8.8.8 routing-mark=\ to-ether2 target-scope=30 add comment="backup isp1" distance=2 gateway=gateway_address_isp1 routing-mark=\ to-ether2 add check-gateway=ping distance=1 gateway=gateway_address_isp1 add check-gateway=ping distance=2 gateway=gateway_address_isp2 add distance=1 dst-address=1.1.1.1/32 gateway=gateway_address_isp1 add distance=1 dst-address=8.8.8.8/32 gateway=gateway_address_isp2
Pelajari selengkapnya tentang setiap langkah konfigurasi di bawah ini dan tingkatkan performa jaringan Anda sekarang juga!





