PCC (Per Connection Classifier) membagi koneksi baru ke beberapa link ISP berdasarkan hash dari alamat dan port. Hasilnya bukan “gabung bandwidth” seperti bayangan banyak orang — satu unduhan tetap memakai satu link. Yang bertambah adalah kapasitas total untuk banyak koneksi bersamaan: browsing, streaming, dan unduhan paralel tersebar ke dua ISP, dan saat satu link mati, koneksi baru otomatis pindah.
Tulisan ini memakai topologi dua ISP dengan RouterOS v7. Semua perintah bisa ditempel di terminal
Winbox (New Terminal). Kalau perangkatmu masih RouterOS v6, sebagian besar perintahnya sama; yang
berbeda hanya penamaan di /ip route dan tidak adanya routing-table baru.
Topologi yang dipakai
ISP1 (ether1) ──┐
├── MikroTik ── bridge (LAN 192.168.10.0/24) ── klien
ISP2 (ether2) ──┘
Asumsi: bridge sudah ada dan port LAN sudah jadi anggotanya, kedua link sudah bisa ping gateway
masing-masing sebelum PCC dipasang. Jangan pernah mulai PCC kalau salah satu link belum terbukti
lancar — kamu akan kesulitan membedakan salah konfigurasi dengan salah link.
Langkah 1 — Beri nama interface lebih dulu
Perintah di bawah ini panjang dan mudah salah ketik. Supaya tidak bergantung pada nama ether1
dan ether2 yang bisa berbeda di tiap perangkat, buat daftar interface:
/interface list
add name=WAN
add name=LAN
/interface list member
add list=WAN interface=ether1
add list=WAN interface=ether2
add list=LAN interface=bridge
Kalau salah satu ISP memakai PPPoE, tambahkan interface PPPoE-nya ke WAN
(add list=WAN interface=pppoe-out1) dan jangan pakai ether-nya.
Langkah 2 — Alamat IP dan NAT
/ip address
add address=192.168.10.1/24 interface=bridge comment="LAN"
add address=103.10.20.2/30 interface=ether1 comment="ISP1"
add address=202.30.40.2/30 interface=ether2 comment="ISP2"
/ip firewall nat
add chain=srcnat out-interface-list=WAN action=masquerade comment="NAT semua ISP"
Satu aturan NAT untuk semua WAN lebih aman daripada dua aturan per interface: kalau nanti ada ISP
ketiga, kamu hanya menambah anggota WAN, bukan aturan baru.
Langkah 3 — Kecualikan trafik yang tidak boleh di-PCC
Ini bagian yang paling sering dilewatkan, dan penyebab keluhan “setelah dipasang PCC, buka router/dashboard malah lambat atau putus”.
/ip firewall address-list
add list=LAN_LOCAL address=192.168.10.0/24 comment="LAN"
/ip firewall mangle
add chain=prerouting action=accept dst-address-type=local comment="trafik ke router sendiri"
add chain=prerouting action=accept src-address-list=LAN_LOCAL dst-address-list=LAN_LOCAL comment="LAN ke LAN"
Dua aturan accept di atas harus berada di paling atas rantai prerouting. Tanpa itu, akses ke
Winbox, DNS router, dan trafik antar-VLAN ikut ditandai lalu dilempar ke ISP — dan itu sumber
keluhan yang sulit dilacak.
Langkah 4 — Tandai koneksi, lalu tandai routing
/ip firewall mangle
add chain=prerouting in-interface-list=LAN connection-mark=no-mark dst-address-type=!local per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=ISP1_conn passthrough=yes comment="PCC ISP1"
add chain=prerouting in-interface-list=LAN connection-mark=no-mark dst-address-type=!local per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=ISP2_conn passthrough=yes comment="PCC ISP2"
add chain=prerouting in-interface-list=LAN connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1 passthrough=no comment="routing ISP1"
add chain=prerouting in-interface-list=LAN connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2 passthrough=no comment="routing ISP2"
Perintah di atas panjang dan sengaja ditulis satu baris per aturan: terminal RouterOS tidak
mengenali sambungan baris dengan \, jadi menyalin perintah yang dipotong dengan \ akan gagal.
Tiga detail yang menentukan hasilnya:
connection-mark=no-markmencegah koneksi yang sudah ditandai ditandai ulang oleh aturan berikutnya. Tanpa ini, hampir semua koneksi berakhir di satu ISP saja.passthrough=yespada dua aturan pertama,passthrough=nopada dua aturan routing. Kalaupassthroughtertukar, paket berhenti diproses sebelum routing-nya ditandai.both-addresses-and-portsmembagi paling merata. Kalau ada layanan yang mengeluh IP-nya berubah (beberapa portal perbankan dan aplikasi absensi), ganti keboth-addressessupaya satu host konsisten di satu link.
Langkah 5 — Route per ISP, plus cadangan
/ip route
add dst-address=0.0.0.0/0 gateway=103.10.20.1 routing-mark=to_ISP1 check-gateway=ping distance=1 comment="utama ISP1"
add dst-address=0.0.0.0/0 gateway=202.30.40.1 routing-mark=to_ISP1 check-gateway=ping distance=2 comment="cadangan ISP1"
add dst-address=0.0.0.0/0 gateway=202.30.40.1 routing-mark=to_ISP2 check-gateway=ping distance=1 comment="utama ISP2"
add dst-address=0.0.0.0/0 gateway=103.10.20.1 routing-mark=to_ISP2 check-gateway=ping distance=2 comment="cadangan ISP2"
add dst-address=0.0.0.0/0 gateway=103.10.20.1 check-gateway=ping distance=1 comment="trafik tanpa mark"
add dst-address=0.0.0.0/0 gateway=202.30.40.1 check-gateway=ping distance=2 comment="trafik tanpa mark - cadangan"
Dua baris terakhir tidak berfungsi sebagai load balance; itu untuk trafik yang tidak melewati
prerouting, misalnya paket yang dibuat router sendiri (update RouterOS, DNS forwarder).
Pasangan distance=1 dan distance=2 di tabel yang sama inilah failover-nya. Kalau gateway utama
berhenti menjawab ping, check-gateway=ping menonaktifkan route tersebut setelah sekitar 10 detik,
lalu route cadangan mengambil alih.
Catatan penting:
check-gateway=pingbergantung pada gateway yang menjawab ICMP. Kalau ISP memblokir ping ke gateway, ganti kecheck-gateway=arp, atau pantau host lain lewat/tool netwatchdan aktifkan/nonaktifkan route dari situ. Failover yang mengandalkan ping ke gateway yang tidak menjawab akan terus mem-flap dan membuat trafikmu pindah-pindah tanpa sebab.
Langkah 6 — DNS
/ip dns
set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
/ip dhcp-server network
set [find] dns-server=192.168.10.1
Klien sebaiknya memakai router sebagai DNS, bukan DNS ISP langsung. Kalau klien memakai DNS ISP1 dan link ISP1 mati, browsing terasa mati total walau routing-nya sudah pindah.
Cara menguji: empat bukti, bukan perasaan
Sesi belum selesai kalau kamu hanya melihat “internet masih jalan”. Empat pemeriksaan ini yang menunjukkan PCC benar-benar bekerja.
1. Counter per ISP bergerak seimbang.
/ip firewall mangle print stats
Lihat kolom Bytes pada dua aturan mark-connection. Perbandingannya harus mendekati 1:1 untuk
link dengan kapasitas sama. Kalau 90:10, biasanya connection-mark=no-mark hilang atau urutan
aturannya tertukar.
2. Koneksi aktif terbagi. Unduh beberapa file besar sekaligus di dua perangkat, lalu:
/ip firewall connection print count-only where connection-mark=ISP1_conn
/ip firewall connection print count-only where connection-mark=ISP2_conn
3. Uji link mati tanpa menyentuh kabel. Matikan interface ISP2, amati apakah trafik pindah:
/interface ethernet set ether2 disabled=yes
# amati /ip route print dan grafik /interface monitor-traffic
/interface ethernet set ether2 disabled=no
Yang harus terjadi: route ISP2 nonaktif dalam hitungan detik, koneksi baru lewat ISP1, dan koneksi lama yang terputus tersambung ulang sendiri di aplikasi.
4. Uji gateway tidak menjawab. Ini berbeda dari kabel dicabut, dan justru kasus yang paling sering terjadi di lapangan (link hidup, hulu ISP mati). Nonaktifkan route utama saja:
/ip route disable [find comment="utama ISP2"]
/ip route enable [find comment="utama ISP2"]
Jebakan yang paling sering bikin gagal
- Aturan
accepttrafik lokal ditaruh paling bawah. Trafik ke router ikut ditandai, akses Winbox jadi tidak stabil. - Lupa
connection-mark=no-mark. Hasilnya satu ISP menerima hampir semua koneksi. passthroughtertukar. Routing mark tidak pernah terpasang, jadi semua trafik keluar lewat route default.- FastTrack mengganggu pengujian. Kalau pembagian tetap tidak merata padahal aturan sudah benar,
matikan sementara aturan
fasttrack-connectiondi/ip firewall filteruntuk memastikan paket benar-benar melewati mangle, lalu pasang kembali setelah selesai. check-gateway=pingke gateway yang memblokir ICMP. Route utama terus dianggap mati, trafik bolak-balik pindah link.- PPPoE diperlakukan seperti ether. Gateway pada route harus nama interface PPPoE, bukan IP.
- Tidak backup sebelum mulai. Tanpa
/export file=sebelum-pcc, rollback hanya bisa dengan mengingat-ingat perintah lama.
Kapan sebaiknya tidak dikerjakan sendiri
Kalau jaringanmu dipakai banyak orang setiap hari, dua hal yang paling mahal bukan ongkos setting, tapi waktu hening dan tidak adanya pembanding konfigurasi lama. Saya mengerjakan ini sebagai pekerjaan remote dengan lingkup yang ditulis di depan:
- Jasa setting load balance & failover MikroTik 2 ISP — lingkup kerja, yang tidak termasuk, estimasi 60–120 menit, cara bayar, dan garansi 7 hari.
Kalau kamu memilih mengerjakan sendiri, tetap simpan hasil /export sebelum dan sesudah. Itu satu-
satunya cara membandingkan apa yang berubah ketika jaringan berperilaku aneh seminggu kemudian.
Paket terkait
Load balance & failover MikroTik (2 ISP atau lebih)
Dua ISP dipakai bersamaan, dan internet tidak mati saat salah satu putus. Estimasi 60–120 menit untuk 2 isp · Mulai dari Rp 350.000.
Lihat lingkup kerja lengkap →Langkah berikutnya
Kirim kondisi jaringanmu, saya balas dengan lingkup kerja dan estimasi biayanya.
Balasan di jam kerja 08.00–21.00 WIB, biasanya di bawah 2 jam.
Chat WhatsAppPesan sudah terisi otomatis — tinggal tambahkan detail perangkatmu.