Kembali

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:

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:

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:

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:

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.

Kembali