Tutorial Load Balancing PCC Mikrotik 3 Jalur ISP (Terbaru & Stabil)

Apakah Anda ingin memaksimalkan koneksi internet di rumah, kantor, atau warnet dengan menggabungkan tiga jalur ISP berbeda? Menggunakan Load Balancing PCC (Per Connection Classifier) di Mikrotik adalah solusi terbaik dan paling stabil hingga saat ini. Artikel ini menyajikan panduan interaktif, lengkap dengan diagram topologi, routing khusus game, script konfigurasi penuh, dan tips troubleshooting untuk load balancing PCC Mikrotik 3 jalur.

Diagram Topologi Load Balancing PCC Mikrotik 3 Jalur ISP

Gambar 1: Diagram Ilustrasi Topologi Load Balancing PCC Mikrotik 3 Jalur ISP

Apa Itu Load Balancing PCC Mikrotik?

Load Balancing adalah metode untuk mendistribusikan trafik data ke beberapa jalur internet agar semua bandwidth ISP dapat digunakan secara optimal dan seimbang. PCC (Per Connection Classifier) bekerja dengan cara membagi koneksi berdasarkan hash dari alamat IP dan port, sehingga satu sesi koneksi (misalnya saat download atau browsing) akan konsisten melewati satu jalur ISP yang sama. Ini berbeda dengan metode NTH yang membagi berdasarkan paket ke-N dan sering menyebabkan session drop.

Tujuan utama PCC adalah memastikan semua jalur ISP aktif, mencegah overload pada satu jalur, dan memaksimalkan stabilitas jaringan untuk semua klien.

Manfaat Menggunakan PCC 3 Jalur

  • Distribusi Merata: Beban trafik terbagi rata ke ketiga ISP.
  • Bandwidth Terpooling: Jika Anda memiliki 3 ISP @20Mbps, klien akan merasakan kapasitas hingga 60Mbps.
  • Stabilitas Tinggi: Koneksi tidak mudah putus (RTO) karena satu sesi koneksi di-pin ke satu gateway.
  • Routing Prioritas: Mendukung traffic shaping, misalnya mengarahkan trafik Game Online ke ISP yang paling stabil (ping kecil).

Persiapan Sebelum Konfigurasi

  • Router Mikrotik dengan minimal 4 interface (3 untuk ISP, 1 untuk LAN/Wireless).
  • IP Address dan Gateway dari masing-masing ISP sudah diketahui.
  • Memahami dasar-dasar IP Address, DNS, Firewall Mangle, NAT, dan Routing di Mikrotik.
  • Disarankan menggunakan RouterOS v6 atau v7 terbaru untuk performa PCC yang lebih baik.

Langkah-Langkah Konfigurasi PCC 3 Jalur

1. Konfigurasi Interface dan IP Address

Langkah pertama adalah merapikan nama interface agar mudah dikenali, lalu memberikan IP Address untuk masing-masing jalur ISP dan LAN.

/interface ethernet
set [ find default-name=ether1 ] name=ether1-100M
set [ find default-name=ether2 ] name=ether2-INDI-20M
set [ find default-name=ether3 ] name=ether3-INDI-50M

/ip address
add address=192.168.10.4/24 interface=ether1-100M network=192.168.10.0
add address=192.168.9.4/24 interface=ether2-INDI-20M network=192.168.9.0
add address=192.168.7.4/24 interface=ether3-INDI-50M network=192.168.7.0
add address=192.168.80.1/24 interface=ether5 network=192.168.80.0

2. Konfigurasi DNS dan Keamanan Dasar

Pastikan router dapat melakukan resolve domain dengan cepat menggunakan DNS publik yang andal, dan amankan identitas wireless router.

/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1,8.8.8.8

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

3. Firewall Filter (Marking IP Game Online)

Agar permainan seperti Mobile Legends (ML) dan PUBG tidak mengalami lag atau RTO akibat ter-lempar ke ISP yang tidak stabil, kita perlu menandai IP Game menggunakan address list.

/ip firewall filter
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=27000-28998 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=27000-28998 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward comment="ML" connection-rate=0-256k dst-port=30097-30147,5000-5508,5551-5558,5601-5608,5651-5658 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=5000-5508,5551-5558,5601-5608,5651-5658 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward comment="PUBG" connection-rate=0-256k dst-port=10001-10010,21750 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=10491,10010,10013,10612,20002,20001,20000,12235,13748,7086-7995 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=12070-12460,41182-41192,13972,13894,11455,10096,10039 in-interface=ether5 protocol=udp

4. Firewall Mangle (PCC & Mark Routing)

Ini adalah inti dari Load Balancing PCC. Kita akan membagi koneksi dari LAN (ether5) menjadi 3 bagian menggunakan per-connection-classifier, lalu menandai routing-nya. Kita juga akan memisahkan trafik Game agar melewati jalur khusus.

/ip firewall mangle
# 1. Mark Routing untuk Game (Prioritas ke ISP 3 / 50M)
add chain=prerouting in-interface=ether5 dst-address-list=IPGAME action=mark-routing new-routing-mark=to_game passthrough=no

# 2. PCC 3 Jalur (Membagi koneksi dari LAN)
add chain=prerouting in-interface=ether5 per-connection-classifier=both-addresses-and-ports:3/0 action=mark-connection new-connection-mark=con_isp1 passthrough=yes
add chain=prerouting in-interface=ether5 per-connection-classifier=both-addresses-and-ports:3/1 action=mark-connection new-connection-mark=con_isp2 passthrough=yes
add chain=prerouting in-interface=ether5 per-connection-classifier=both-addresses-and-ports:3/2 action=mark-connection new-connection-mark=con_isp3 passthrough=yes

# 3. Mark Routing berdasarkan Connection Mark PCC
add chain=prerouting in-interface=ether5 connection-mark=con_isp1 action=mark-routing new-routing-mark=to_isp1 passthrough=no
add chain=prerouting in-interface=ether5 connection-mark=con_isp2 action=mark-routing new-routing-mark=to_isp2 passthrough=no
add chain=prerouting in-interface=ether5 connection-mark=con_isp3 action=mark-routing new-routing-mark=to_isp3 passthrough=no

5. NAT Masquerade

Aktifkan NAT pada semua interface ISP agar klien di jaringan LAN bisa mengakses internet.

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-100M
add action=masquerade chain=srcnat out-interface=ether2-INDI-20M
add action=masquerade chain=srcnat out-interface=ether3-INDI-50M

6. Routing Table

Buat routing marks yang mengarah ke gateway masing-masing ISP, serta default route dengan sistem failover (distance).

/ip route
# Default Route (Failover)
add gateway=192.168.10.1 distance=1 check-gateway=ping
add gateway=192.168.7.1 distance=2 check-gateway=ping
add gateway=192.168.9.1 distance=3 check-gateway=ping

# Routing Mark untuk PCC
add gateway=192.168.10.1 routing-mark=to_isp1 check-gateway=ping
add gateway=192.168.9.1 routing-mark=to_isp2 check-gateway=ping
add gateway=192.168.7.1 routing-mark=to_isp3 check-gateway=ping

# Routing Mark untuk Game
add gateway=192.168.7.1 routing-mark=to_game check-gateway=ping

Script Lengkap Konfigurasi (Export)

Bagi Anda yang ingin menyalin konfigurasi lengkap dari lab kami (termasuk penyesuaian user group dan detail mangle spesifik), berikut adalah script export lengkapnya. Anda bisa menyalin dan menempelkannya langsung ke New Terminal di Mikrotik.

# ================================
# 1. Konfigurasi Interface
# ================================
/interface ethernet
set [ find default-name=ether1 ] name=ether1-100M
set [ find default-name=ether2 ] name=ether2-INDI-20M
set [ find default-name=ether3 ] name=ether3-INDI-50M

# ================================
# 2. Wireless Security Profile
# ================================
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

# ================================
# 3. User Group Permissions
# ================================
/user group
set read policy=local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,password,web,sniff,sensitive,api,romon,dude,tikapp
set write policy=local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,password,web,sniff,sensitive,api,romon,dude,tikapp

# ================================
# 4. Konfigurasi IP Address
# ================================
/ip address
add address=192.168.10.4/24 interface=ether1-100M network=192.168.10.0
add address=192.168.80.1/24 interface=ether5 network=192.168.80.0
add address=192.168.7.4/24 interface=ether3-INDI-50M network=192.168.7.0
add address=192.168.9.4/24 interface=ether2-INDI-20M network=192.168.9.0

# ================================
# 5. DNS Configuration
# ================================
/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1,8.8.8.8

# ================================
# 6. Firewall Filter Rules (IPGAME)
# ================================
/ip firewall filter
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=27000-28998 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=27000-28998 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward comment="ML" connection-rate=0-256k dst-port=30097-30147,5000-5508,5551-5558,5601-5608,5651-5658 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=5000-5508,5551-5558,5601-5608,5651-5658 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward comment="PUBG" connection-rate=0-256k dst-port=10001-10010,21750 in-interface=ether5 protocol=tcp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=10491,10010,10013,10612,20002,20001,20000,12235,13748,7086-7995 in-interface=ether5 protocol=udp
add action=add-dst-to-address-list address-list=IPGAME address-list-timeout=1h chain=forward connection-rate=0-256k dst-port=12070-12460,41182-41192,13972,13894,11455,10096,10039 in-interface=ether5 protocol=udp

# ================================
# 7. Firewall Mangle Rules
# ================================
/ip firewall mangle
# Mark Routing untuk IPGAME
add action=mark-routing chain=prerouting connection-rate=0-512k dst-address-list=IPGAME in-interface=ether5 new-routing-mark=game passthrough=no

# Mark Connection untuk tiap ISP (Fallback)
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-list=!IPGAME in-interface=ether2-INDI-20M new-connection-mark=indicn1 passthrough=yes
add action=mark-packet chain=output connection-mark=indicn1 new-packet-mark=1 passthrough=no

add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-list=!IPGAME in-interface=ether3-INDI-50M new-connection-mark=indicn2 passthrough=yes
add action=mark-packet chain=output connection-mark=indicn2 new-packet-mark=2 passthrough=no

add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-list=!IPGAME in-interface=ether1-100M new-connection-mark=iconcn3 passthrough=yes
add action=mark-packet chain=output connection-mark=iconcn3 new-packet-mark=3 passthrough=no

# Mark Connection berdasarkan per-connection-classifier (PCC) untuk LAN
add action=mark-connection chain=prerouting dst-port=80,8080 in-interface=ether5 new-connection-mark=indicn100-1 passthrough=yes per-connection-classifier=src-address-and-port:4/3 protocol=tcp src-address=192.168.80.0/24
add action=mark-routing chain=prerouting connection-mark=indicn100-1 in-interface=ether5 new-routing-mark=1 passthrough=no

# ================================
# 8. NAT Masquerade
# ================================
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1-100M
add action=masquerade chain=srcnat out-interface=ether3-INDI-50M
add action=masquerade chain=srcnat out-interface=ether2-INDI-20M

# ================================
# 9. Routing
# ================================
/ip route
add check-gateway=ping distance=1 gateway=192.168.7.1 routing-mark=game
add check-gateway=ping distance=1 gateway=192.168.9.1 routing-mark=4
add check-gateway=ping distance=1 gateway=192.168.10.1 routing-mark=3
add check-gateway=ping distance=1 gateway=192.168.7.1 routing-mark=2
add check-gateway=ping distance=1 gateway=192.168.10.1 routing-mark=1
add check-gateway=ping distance=1 gateway=192.168.10.1
add check-gateway=ping distance=2 gateway=192.168.7.1
add check-gateway=ping distance=3 gateway=192.168.9.1

Tips Troubleshooting

  • Jalur tidak terbagi merata: Pastikan rule per-connection-classifier di mangle sudah benar dan urutan rule tidak tertukar. Gunakan both-addresses-and-ports untuk RouterOS v6/v7 agar lebih stabil.
  • Ping gagal ke gateway (RTO): Periksa koneksi fisik, pastikan IP interface sesuai dengan subnet ISP, dan aktifkan check-gateway=ping pada routing.
  • Game Online Lag/RTO: Pastikan address list IPGAME sudah benar dan routing mark game diarahkan ke ISP yang memiliki ping paling kecil dan stabil.
  • Internet Lambat di satu klien: Gunakan fitur Torch atau Traffic Monitor di Mikrotik untuk melihat distribusi paket secara real-time.

Kesimpulan

Dengan menerapkan Load Balancing PCC Mikrotik 3 jalur, Anda dapat memanfaatkan semua bandwidth ISP secara maksimal, meningkatkan redundansi jaringan, dan menjaga stabilitas koneksi untuk semua perangkat. Metode PCC yang dikombinasikan dengan routing mark khusus game adalah konfigurasi terbaik untuk kebutuhan rumah, kantor kecil, maupun warnet di era saat ini.

Referensi dan Bacaan Tambahan