Cara Setting MikroTik Load Balancing dengan 2 ISP
Penggunaan dua penyedia layanan internet (ISP) bertujuan untuk meningkatkan ketersediaan, kecepatan, dan efisiensi jaringan. Dengan menggunakan MikroTik RouterOS sebagai router, Anda dapat menyiapkan load balancing yang memungkinkan lalu lintas dibagi antara kedua koneksi tersebut. Panduan berikut akan membahas secara detail langkah-langkah konfigurasi load balancing menggunakan metode PCC (Per Connection Class), ECMP (Equal Cost Multi-Path) dan script sederhana. Semua contoh konfigurasi ditulis menggunakan baris perintah (CLI) MikroTik agar dapat di-copy langsung ke Winbox atau Terminal.
1. Persiapan Lingkungan
Sebelum memulai, pastikan Anda memiliki:
- Router MikroTik (contoh: CCR3009, RB4011, atau model lainnya).
- 2 modem/port untuk ISP 1 dan ISP 2.
- IP statis atau DHCP assigned dari masing-masing ISP.
- Akses administrasi ke router (Winbox, WebFig, atau SSH).
- Backup konfigurasi sebelumnya (cmd backup).
Catatan: Semua langkah berikut bersifat umum. Sesuaikan nama interface, IP, dan subnet sesuai infrastruktur lokal Anda.
2. Mengatur Pemberian IP pada Interface
/ip address add address=192.168.1.1/24 interface=ether1 network=192.168.1.0
/ip address add address=10.0.0.1/30 interface=ether2 network=10.0.0.0
/ip address add address=172.16.0.1/30 interface=ether3 network=172.16.0.0
Misalnya:
- ether1 – Lingkungan lokal (LAN).
- ether2 – ISP 1 (IP 10.0.0.1/30).
- ether3 – ISP 2 (IP 172.16.0.1/30).
Jika ISP menyediakan IP dinamis, gunakan DHCP:
/ip dhcp-client add add-default-route=no interface=ether2 name=dhcp-isp1
/ip dhcp-client add add-default-route=no interface=ether3 name=dhcp-isp2
Pastikan opsi add-default-route=no diatur agar MikroTik tidak menambahkan secara otomatis default route ke ISP ketika DHCP mengonfigurasi IP. Kita akan menambahkan sendiri dari script yang tepat.
3. Menyiapkan Pool IP Internal
IP pool diperlukan untuk NAT (Network Address Translation). Berikut contoh pembuatan pool dan address list untuk interface LAN.
/ip pool add name=lan_pool ranges=192.168.1.10-192.168.1.200
/ip address add address=192.168.1.1/24 interface=ether1 network=192.168.1.0
/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
Selain itu, Anda dapat menambahkan NAT untuk pengguna yang terhubung ke setiap ISP secara terpisah, misalnya:
/ip firewall nat add chain=srcnat out-interface=ether2 action=masquerade
/ip firewall nat add chain=srcnat out-interface=ether3 action=masquerade
4. Konfigurasi Routing Dasar
MikroTik secara default akan menggunakan route statis. Karena kita memiliki dua ISP, kita perlu menetapkan route untuk masing-masing gateway dan kemudian menambahkan script untuk menyeimbangkan traffic.
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.2 routing-mark=ISP-1 distance=20
/ip route add dst-address=0.0.0.0/0 gateway=172.16.0.2 routing-mark=ISP-2 distance=20
Jika menggunakan DHCP, cukup otomatis dialokasikan route akan muncul. Namun, kita tetap menyesuaikan routing-mark agar memfilter lalu lintas.
5. Penambahan Routing Mark dengan Mangle
Metode PCC menerapkan penyisipan rule untuk menganalisa setiap koneksi dan memberi mark. Saat setiap paket masuk dari interface LAN, paket tersebut diberi routing‑mark tertentu. Berikut contoh configurasi:
5.1. Menentukan Rule Mangle
/ip firewall mangle add chain=prerouting src-address=192.168.1.0/24 \
action=mark-routing new-routing-mark=ISP-1 per-connection=track on-port=8000 \
passthrough=yes
/ip firewall mangle add chain=prerouting src-address=192.168.1.0/24 \
action=mark-routing new-routing-mark=ISP-2 per-connection=track on-port=8001 \
passthrough=yes
Penjelasan:
- per-connection=track membuat setiap koneksi baru diberi route baru (terbagi per-connection).
- on-port=8000/8001 menyandi TTL (time‑to‑live) atau value lain. Lebih praktis menggunakan per-connection=track tanpa on-port, lalu menambah rule per-connection=tracking secara otomatis.
- passthrough=yes memastikan paket diteruskan ke step berikutnya.
5.2. Alternatif Mangle Saat Memakai DHCP
/ip firewall mangle add chain=prerouting src-address=192.168.1.0/24 \
action=mark-routing new-routing-mark=ISP-1 tracking-duration=30s
/ip firewall mangle add chain=prerouting src-address=192.168.1.0/24 \
action=mark-routing new-routing-mark=ISP-2 tracking-duration=30s
6. Menggunakan Traffic Rules untuk Menyeimbangkan
Setelah setiap koneksi diberi mark, Anda dapat menyesuaikan kebijakan pemilihan route. Disini kita menggunakan routing mark yang sama dengan dua route masing-masing. MikroTik mendukung ECMP, sehingga kedua gateway akan digunakan secara serempak. Namun bila Anda hanya ingin menyeimbangkan lalu lintas unggulan, gunakan script. Berikut contoh script sederhana.
6.1. Script Ringkas untuk Load Balancing
Script ini dijalankan setiap 30 detik untuk mengecek ketersediaan ISP. Jika satu ISP down, traffic dialihkan ke ISP lain. Simpan script ini sebagai “lb-script”.
/system script add name=lb-script source="
:global isp1 up:=[/interface ethernet get ether2 running]
:global isp2 up:=[/interface ethernet get ether3 running]
if (\$isp1 = true && \$isp2 = true) do={
/ip route enable [find comment='isp1']
/ip route enable [find comment='isp2']
} else={
if (\$isp1 = true) do={
/ip route enable [find comment='isp1']
/ip route disable [find comment='isp2']
} else={
/ip route enable [find comment='isp2']
/ip route disable [find comment='isp1']
}
}
"
/system scheduler add name=lb-scheduler start-time=startup interval=30s \
on-event=lb-script
Pastikan Anda menambahkan komentar pada route untuk memudahkan Reference. Misalnya:
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.2 comment=isp1 routing-mark=ISP-1 distance=10
/ip route add dst-address=0.0.0.0/0 gateway=172.16.0.2 comment=isp2 routing-mark=ISP-2 distance=10
7. Menyusun ECMP dengan Simplex Route
Metode ECMP (Equal Cost Multi‑Path) memanfaatkan dua gateway dalam satu routing‑mark. Dengan menambah style berikut, Mikrotik akan membagi pacakets dengan rata‑rata.
/ip route add dst-address=0.0.0.0/0 gateway=10.0.0.2 routing-mark=ECMP distance=5
/ip route add dst-address=0.0.0.0/0 gateway=172.16.0.2 routing-mark=ECMP distance=5
Dan tambahkan rule mangle:
/ip firewall mangle add chain=prerouting src-address=192.168.1.0/24 \
action=mark-routing new-routing-mark=ECMP passthrough=yes
Dengan konfigurasi ini, MikroTik akan meneruskan traffic di mana saja secara laju setiap gateway secara merata. ECMP lebih sederhana dibanding script. Tetapi tidak semua client akan menerima penjumlahan TTL; pembagian ini melibatkan paket per paket.
8. Melakukan NAT Salam dengan Destination NAT (DNAT) jika Diperlukan
Jika Anda ingin menetapkan satu domain untuk dua ISP (failover) atau load balance berdasarkan port, gunakan DNAT. Berikut contoh mengalihkan traffic HTTP (port 80) ke ISP 1.
/ip firewall nat add chain=dstnat dst-port=80 protocol=tcp \
action=mark-routing new-routing-mark=ISP-1 passthrough=yes
/ip firewall nat add chain=dstnat dst-port=80 protocol=tcp \
action=mark-routing new-routing-mark=ISP-2 passthrough=yes
Perlu diingat DNAT membutuhkan konfigurasi NAT source lebih lanjut, contohnya:
/ip firewall nat add chain=srcnat out-interface=ether2 action=masquerade
/ip firewall nat add chain=srcnat out-interface=ether3 action=masquerade
9. Menerapkan Kebijakan QoS (Quality of Service)
Load balancing di atas tidak memperhitungkan batas bandwidth. Untuk memastikan proporsi yang tepat, Anda dapat menambahkan queue. Berikut contoh pembuatan simple queue untuk tiap ISP.
/queue simple add name="ISP1-queue" target=192.168.1.0/24 max-limit=10M/10M
/queue simple add name="ISP2-queue" target=192.168.1.0/24 max-limit=10M/10M
Anda dapat mengikat queue ke interface atau IP pool. Option teknis:
- set priority di setiap rule mangle.
- gunakan per-destination Ethernet speed bandwidth.
- apply script yang menyesuaikan saturating queue berdasarkan trafik terdeteksi.
10. Monitoring dan Alat Diagnostik
Setelah langkah konfigurasi selesai, monitoring stabilitas dan kinerja ISP penting. MikroTik menyediakan beberapa cetak biru (scripts) berikut.
10.1. Script Monitoring ISP
/tool netwatch add host=10.0.0.2 interval=30s timeout=5s \
up-script="/ip route enable [find comment='isp1']" \
down-script="/ip route disable [find comment='isp1']"
/tool netwatch add host=172.16.0.2 interval=30s timeout=5s \
up-script="/ip route enable [find comment='isp2']" \
down-script="/ip route disable [find comment='isp2']"
Script ini secara otomatis menyalas semua route ketika gateway tidak tersedia. Anda dapat menggabungkan script ini dengan script load balance menyesuaikan sesuai keperluan.
10.2. Log Traffic
/tool traffic-monitor wlan=ether1 window-size=10s \
title="Traffic Terhadap ISP" bandwidth=true
Anda juga dapat mencatat log milimeter bandwidth montor per-% rule.
11. Menangani Failover dan Statistik
Secara default MikroTik tidak menyimpan statistik untuk masing-masing ISP (jumlah paket, latency). Untuk mengetahui performa, Anda dapat memanfaatkan Interface Tracking atau Netwatch. Berikut contoh pengumpulan statistik menggunakan script:
/system script add name=collect-stats source="
:global isp1 [ /interface ethernet get ether2 tx-bits-per-second ]
:global isp2 [ /interface ethernet get ether3 tx-bits-per-second ]
:log info message=\"ISP1: \$isp1 bps | ISP2: \$isp2 bps\"
"
/system scheduler add name=stats-scheduler start-time=startup interval=60s \
on-event=collect-stats
Log dapat dikirim ke syslog server atau ditampilkan Pada WebFig atau Winbox.
12. Menyusun Backup dan Regrution
Setelah konfigurasi selesai, back up seluruh konfigurasi agar dapat mudah Restore pada event sysadmin atau disaster recovery. Buka Winbox atau logging ke terminal.
/export file=loadbalance-config
/file print
/file get loadbalance-config.RSC
Untuk restore:
/import file-name=loadbalance-config.RSC
13. Peringatan dan Troubleshooting
1. Periksa Route Table
Gunakan:
/ip route print
Pastikan setiap gateway memiliki comment “isp1” atau “isp2”.
2. Pastikan Mangle Rules Passthrough
Jika mark tidak bertahan, periksa counter dan passthrough di rule mangle.
3. Masalah TTL dan Path MTU
Jika gabungan dua gateway menghasilkan MTU 1400, gunakan propery MTU per interface atau tunap MTU 1500 set pada Firewall NAT proper 1/2.
4. Masalah dengan WAN Address DHCP
Set add-default-route=no pada DHCP client sehingga tidak menambahkan default route global. Kalau tidak di-handle, MikroTik bisa mengarahkan tren langsung ke gateway tertentu saja, menyesuaikan with pipelining.
14. Simpulan
Load balancing dengan MikroTik memungkinkan dua koneksi internet digunakan secara efektif. Langkah-langkah di atas memanfaatkan beberapa metode, antara lain: Per Connection Class (PCC) mangle rule, ECMP, serta script failover otomatis. Pastikan setiap gateway memiliki route dengan komentar. Konfigurasikan NAT, QoS, monitoring, dan backup. Dengan pendekatan ini, jaringan Anda akan mendapatkan redundansi, kecepatan, dan kestabilan yang lebih baik.
Selalu lakukan deployment incremental: mulailah dengan mode monitoring, kemudian aktifkan traffic berbagi, pastikan semua log dan performa berada dalam budget.
Semoga panduan ini bermanfaat bagi Anda yang hendak menerapkan load balancing di MikroTik dengan 2 ISP. Selamat mencoba dan bereksperimen sesuai kebutuhan jaringan Anda.