Kita menggunakan dua sumber internet:
ISP 1
↓
ether1
↓
MikroTik
↓
ether2
↓
Laptop / Client
ISP 2 dari HP USB Tethering
↓
lte1
↓
MikroTikIP LAN MikroTik:
10.10.10.1/24Konsep yang digunakan adalah:
PCC (Per Connection Classifier) Load Balancing
Artinya MikroTik membagi connection ke ISP 1 dan ISP 2.
Karena sebelumnya MikroTik masih berisi konfigurasi Hotspot Voucher, kita mulai dari kondisi kosong.
Masuk:
System → Reset Configuration
Pilih:
Remove ConfigurationKemudian reset.
ISP utama dihubungkan ke:
ether1Masuk:
IP → DHCP Client
Tambahkan DHCP Client:
Interface: ether1Setelah berhasil, MikroTik mendapatkan IP otomatis dari ISP.
Pada praktik kita, MikroTik mendapatkan IP:
192.168.18.212/24Gateway ISP:
192.168.18.1Laptop/client menggunakan:
ether2Masuk:
IP → Addresses
Tambahkan:
Address: 10.10.10.1/24
Interface: ether2Hasilnya:
MikroTik
ether2
10.10.10.1
│
│
Laptop
10.10.10.xMasuk:
IP → DHCP Server
Jalankan DHCP Setup.
Pilih:
Interface: ether2Network:
10.10.10.0/24Gateway:
10.10.10.1Dengan begitu laptop otomatis mendapatkan IP.
Agar client bisa keluar ke internet melalui ISP 1.
Masuk:
IP → Firewall → NAT
Buat rule:
Chain: srcnat
Out. Interface: ether1Action: masqueradeHP dihubungkan ke MikroTik menggunakan kabel USB.
Aktifkan:
USB TetheringMikroTik kemudian mendeteksi interface:
lte1Ini bukan interface yang kita buat sendiri. Interface tersebut otomatis muncul karena MikroTik mendeteksi HP sebagai perangkat jaringan.
Pada praktik kita, MikroTik mendapatkan IP:
10.88.253.147/24Gateway:
10.88.253.91Jadi:
HP / Internet
│
│ USB
↓
lte1
│
MikroTikMasuk:
IP → Firewall → NAT
Buat rule baru.
Chain: srcnat
Out. Interface: lte1Action: masqueradeSekarang kita punya dua NAT:
NAT ISP 1 → ether1
NAT ISP 2 → lte1Sekarang kita buat jalur khusus untuk masing-masing ISP.
Masuk:
Routing → Tables
Tambahkan:
Name: to_ISP1
FIB: ✓Name: to_ISP2
FIB: ✓Sekarang MikroTik punya:
main
to_ISP1
to_ISP2Masuk ke daftar Route.
Buat:
Dst. Address: 0.0.0.0/0
Gateway: 192.168.18.1
Routing Table: to_ISP1Artinya:
Semua trafik yang diberi tanda
to_ISP1keluar melalui ISP 1.
Buat route:
Dst. Address: 0.0.0.0/0
Gateway: 10.88.253.91
Routing Table: to_ISP2Artinya:
Semua trafik yang diberi tanda
to_ISP2keluar melalui ISP 2.
Masuk:
IP → Firewall → Mangle
Di sinilah inti PCC-nya.
Chain: prerouting
In. Interface: ether2Connection Mark: no-markBoth Addresses and Ports: 2/0Action: mark connection
New Connection Mark: ISP1_conn
Passthrough: yesArtinya sebagian connection diarahkan menjadi:
ISP1_connBuat rule kedua.
Chain: prerouting
In. Interface: ether2Connection Mark: no-markBoth Addresses and Ports: 2/1Action: mark connection
New Connection Mark: ISP2_conn
Passthrough: yesSekarang konsepnya:
Connection dari Laptop
│
▼
PCC
/ \
/ \
2/0 2/1
│ │
▼ ▼
ISP1_conn ISP2_connSekarang connection yang sudah diberi tanda ISP 1 harus diarahkan ke routing table ISP 1.
Buat rule Mangle:
Chain: prerouting
In. Interface: ether2
Connection Mark: ISP1_connAction: mark routing
New Routing Mark: to_ISP1
Passthrough: yesBuat rule berikutnya.
Chain: prerouting
In. Interface: ether2
Connection Mark: ISP2_connAction: mark routing
New Routing Mark: to_ISP2
Passthrough: yesSetelah semuanya selesai:
Laptop
│
▼
ether2
│
▼
Mangle PCC
│
├──────────────┐
│ │
▼ ▼
ISP1_conn ISP2_conn
│ │
▼ ▼
to_ISP1 to_ISP2
│ │
▼ ▼
ether1 lte1
│ │
▼ ▼
ISP Rumah HP InternetJadi MikroTik melakukan proses:
Connection datang
↓
PCC menentukan kelompok
↓
Connection diberi tanda
↓
Routing mengikuti tanda
↓
Keluar melalui ISP yang sesuaiPada praktik kita:
Kurang lebih:
±50 MbpsSaat dites langsung dari HP, bahkan mencapai:
181 Mbps download
35,7 Mbps uploadSedangkan ketika laptop menggunakan konfigurasi PCC, Speedtest sebelumnya mendapatkan:
Download: 119,08 Mbps
Upload: 51,54 MbpsNamun angka tersebut belum otomatis membuktikan bahwa bandwidth 50 Mbps + 181 Mbps digabung secara penuh.
Karena PCC bekerja dengan:
membagi connection
bukan mengubah dua ISP menjadi satu koneksi fisik virtual.
ISP 1 ──┐
├── MikroTik
ISP 2 ──┘Connection dibagi ke dua ISP.
Misalnya:
Connection A → ISP 1
Connection B → ISP 2
Connection C → ISP 1
Connection D → ISP 2Kalau ada banyak connection, kedua bandwidth bisa dimanfaatkan bersama.
Bonding adalah konsep berbeda.
Secara sederhana:
ISP 1 ──┐
├── menjadi satu link logis
ISP 2 ──┘PCC bukan true bonding.
Jadi jangan mengharapkan satu download dengan satu connection otomatis:
50 Mbps + 181 Mbps = 231 MbpsKarena PCC tidak bekerja seperti itu.
Ini penting banget.
TX = Transmit = keluar dari interface
RX = Receive = masuk ke interfaceJangan menghafal:
TX = upload
RX = downloadkarena itu tergantung interface yang sedang dilihat.
Misalnya:
Internet
↓
RX
lte1
↓
MikroTikMaka:
RX WAN = download dari internet
TX WAN = upload ke internetMisalnya laptop sedang download:
Internet
↓
MikroTik
↓
TX ether2
↓
LaptopJadi:
TX ether2 = download menuju laptop
RX ether2 = upload dari laptopPatokan paling aman tetap:
TX = keluar dari interface yang sedang kita lihat.
RX = masuk ke interface yang sedang kita lihat.
Kurang lebih sekarang:
WAN 1
Interface: ether1
IP: DHCP dari ISP
Gateway: 192.168.18.1
NAT: masquerade
Routing Table: to_ISP1
WAN 2
Interface: lte1
IP: DHCP dari HP
Gateway: 10.88.253.91
NAT: masquerade
Routing Table: to_ISP2
LAN
Interface: ether2
IP: 10.10.10.1/24
DHCP Server: aktif
PCC
2/0 → ISP1_conn
2/1 → ISP2_conn
Routing Mark
ISP1_conn → to_ISP1
ISP2_conn → to_ISP2Sekarang simpan konfigurasi final.
Di Terminal:
/system backup save name=pcc-loadbalance-finalLalu export juga:
/export file=pcc-loadbalance-finalNanti di Files akan ada:
pcc-loadbalance-final.backup
pcc-loadbalance-final.rscJadi praktik PCC Load Balancing 2 ISP ini bisa dianggap selesai dari sisi konfigurasi dasar. Yang tersisa hanya tahap eksperimen lanjutan, misalnya melihat pembagian trafik secara real-time, mencoba rasio 3/0, 3/1, 3/2 kalau bandwidth ISP tidak seimbang, atau nanti membandingkan PCC dengan ECMP dan Failover.
Dan menurut gue, langkah paling bagus setelah ini memang jangan langsung lompat ke konfigurasi baru dulu. Simpan backup, karena konfigurasi yang baru selesai ini sudah jadi bahan latihan yang bisa lu bongkar pasang lagi tanpa takut mulai dari neraka konfigurasi kosong.
Nah, ini justru bagian paling penting dari praktik tadi. Kalau lu cuma bisa bikin rule tapi nggak ngerti hubungan antara Routing Table → PCC → Connection Mark → Routing Mark, nanti jatuhnya cuma jadi tukang copas konfigurasi MikroTik. Sayang banget, padahal lu sudah sampai sini.
Gue jelasin pelan-pelan pakai satu alur utuh.
Kita punya dua internet:
ISP 1
│
ether1
│
▼
Laptop ── ether2 ── MikroTik
│
▼
lte1
│
ISP 2Masalahnya:
Kalau sebuah connection dari laptop datang, MikroTik harus memutuskan:
"Lu keluar lewat ISP 1 atau ISP 2?"
Nah, PCC adalah mekanisme yang membantu membuat keputusan itu.
Alurnya:
Connection dari Laptop
│
▼
PCC
│
├── Kelompok 1 → ISP1_conn
│ │
│ ▼
│ to_ISP1
│ │
│ ▼
│ ether1
│
└── Kelompok 2 → ISP2_conn
│
▼
to_ISP2
│
▼
lte1Sekarang kita bedah satu-satu.
Sebelum PCC, lu sebenarnya sudah memakai routing table tanpa sadar.
Router punya tabel bawaan:
mainDi dalamnya ada informasi seperti:
Kalau mau ke internet
↓
lewat gateway 192.168.18.1atau:
Kalau mau ke internet
↓
lewat gateway 10.88.253.91Bayangkan MikroTik adalah sebuah kantor ekspedisi.
Ada dua jalan keluar:
Jalan A → ISP 1
Jalan B → ISP 2Kalau cuma ada satu daftar petunjuk jalan:
MAINMikroTik bisa bilang:
"Semua paket cek jalan dari daftar ini."
Masalahnya, kita ingin PCC bisa mengatakan:
Paket kelompok ISP1
→ lihat petunjuk jalan khusus ISP1
Paket kelompok ISP2
→ lihat petunjuk jalan khusus ISP2Makanya kita bikin:
main
to_ISP1
to_ISP2to_ISP1 dan to_ISP2?Karena kita ingin punya dua daftar petunjuk jalan yang berbeda.
to_ISP1Isinya:
0.0.0.0/0
↓
192.168.18.1Artinya:
Kalau sebuah paket disuruh memakai table
to_ISP1, semua tujuan internet keluar lewat gateway ISP 1.
to_ISP2Isinya:
0.0.0.0/0
↓
10.88.253.91Artinya:
Kalau sebuah paket memakai table
to_ISP2, keluar lewat ISP 2.
Jadi sederhananya:
Routing Table
↓
Menentukan
↓
Jalur keluarIni penting.
Misalnya laptop lu membuka:
youtube.comLaptop membuat sebuah hubungan komunikasi.
Secara sederhana:
Laptop
↔
YouTubeItulah yang kita sebut connection.
Kemudian lu buka:
google.comBisa muncul connection lain.
Lu buka:
speedtest.netMuncul lagi banyak connection.
Jadi kira-kira:
Laptop
├── Connection A → YouTube
├── Connection B → Google
├── Connection C → TikTok
├── Connection D → Speedtest
└── Connection E → ShopeePCC bekerja dengan cara membagi connection-connection ini.
Connection Mark itu sebenarnya cuma label.
Contoh:
Connection A
↓
diberi label
ISP1_connConnection lain:
Connection B
↓
diberi label
ISP2_connMikroTik sekarang tahu:
Connection A = kelompok ISP 1
Connection B = kelompok ISP 2Bayangkan petugas sortir barang memberi stiker.
📦 Paket A → Stiker MERAH
📦 Paket B → Stiker BIRUDi MikroTik:
Connection A → ISP1_conn
Connection B → ISP2_connConnection Mark belum menentukan jalur.
Ini penting banget.
Dia cuma bilang:
"Oke, connection ini masuk kelompok ISP 1."
Belum bilang:
"Keluar lewat ether1."
Itu baru dilakukan oleh tahap berikutnya.
PCC adalah:
Per Connection Classifier
Bahasa manusia:
Sistem untuk mengelompokkan connection.
Nah, kita memakai:
Both Addresses and Ports: 2/0dan:
Both Addresses and Ports: 2/1Ini memang kelihatan kayak mantra pemanggil setan RouterOS pertama kali lihat. Tapi sebenarnya logikanya cukup sederhana.
Both Addresses and Ports itu apa?Ketika sebuah connection datang, MikroTik bisa melihat beberapa informasi.
Misalnya:
Source Address
Destination Address
Source Port
Destination PortContoh sederhana:
Laptop
IP: 10.10.10.2
Port: 50000
↓ konek ke ↓
Server
IP: 142.xxx.xxx.xxx
Port: 443PCC Both Addresses and Ports menggunakan kombinasi:
IP sumber
+
IP tujuan
+
Port sumber
+
Port tujuanuntuk menentukan connection ini masuk kelompok mana.
Kenapa pakai semuanya?
Supaya banyak connection dari client bisa tersebar ke dua ISP.
2/0 itu apa?Ini inti PCC kita.
Format sederhananya:
Jumlah kelompok / Nomor kelompokJadi:
2/0berarti:
Total kelompok = 2
Ambil kelompok nomor = 0Sedangkan:
2/1berarti:
Total kelompok = 2
Ambil kelompok nomor = 1Karena kita punya dua ISP:
Kelompok 0 → ISP 1
Kelompok 1 → ISP 2Jadi:
2/0 → ISP1_conn
2/1 → ISP2_connSecara visual:
Semua Connection
│
▼
PCC
│
┌────┴────┐
│ │
Kelompok 0 Kelompok 1
│ │
▼ ▼
ISP1_conn ISP2_connKarena:
2/0hanya menangkap kelompok pertama.
Sedangkan:
2/1menangkap kelompok kedua.
Jadi:
both-addresses-and-ports:2/0
↓
mark connection
↓
ISP1_connboth-addresses-and-ports:2/1
↓
mark connection
↓
ISP2_connKeduanya bersama-sama membagi semua connection.
Misalnya laptop membuka 6 connection.
PCC melakukan perhitungan terhadap masing-masing connection.
Hasilnya kira-kira:
Connection 1 → kelompok 0 → ISP1_conn
Connection 2 → kelompok 1 → ISP2_conn
Connection 3 → kelompok 0 → ISP1_conn
Connection 4 → kelompok 1 → ISP2_conn
Connection 5 → kelompok 1 → ISP2_conn
Connection 6 → kelompok 0 → ISP1_connBukan berarti harus selalu:
1 → ISP1
2 → ISP2
3 → ISP1
4 → ISP2seperti sistem gantian.
PCC melakukan perhitungan berdasarkan informasi connection.
Makanya pembagiannya berusaha seimbang, tetapi tidak berarti setiap detik bandwidth dibelah 50:50.
Nah sekarang MikroTik sudah punya:
Connection A = ISP1_conn
Connection B = ISP2_connTetapi MikroTik masih belum tahu:
"ISP1_conn ini harus keluar lewat mana?"
Makanya kita bikin Routing Mark.
Routing Mark adalah instruksi:
Connection dengan label tertentu
↓
gunakan Routing Table tertentuContohnya:
ISP1_conn
↓
mark-routing
↓
to_ISP1Artinya:
Kalau paket berasal dari connection yang diberi label
ISP1_conn, gunakan routing tableto_ISP1.
Dan:
ISP2_conn
↓
mark-routing
↓
to_ISP2Jadi sekarang alurnya lengkap.
Ini yang paling penting untuk lu pahami:
1. Laptop membuat connection
│
▼
2. PCC memeriksa connection
Both Addresses and Ports
│
▼
3. Connection dibagi
2/0 2/1
│ │
▼ ▼
ISP1_conn ISP2_conn
│ │
▼ ▼
4. Routing Mark
to_ISP1 to_ISP2
│ │
▼ ▼
5. Routing Table
to_ISP1 to_ISP2
│ │
▼ ▼
192.168.18.1 10.88.253.91
│ │
▼ ▼
ether1 lte1
│ │
▼ ▼
ISP 1 ISP 2Kalau disederhanakan banget:
PCC
= memilih kelompok
Connection Mark
= memberi nama kelompok
Routing Mark
= memilih daftar jalan
Routing Table
= daftar jalan
Route/Gateway
= jalan keluar sebenarnyaBayangkan lu punya dua jasa pengiriman.
JNE
J&TAda banyak paket masuk.
Petugas membagi paket:
Paket A → kelompok 0
Paket B → kelompok 1Dikasih stiker:
Kelompok 0 → "JNE"
Kelompok 1 → "J&T"Petugas membaca stikernya:
"JNE" → gunakan jalur pengiriman JNE
"J&T" → gunakan jalur pengiriman J&TDaftar jalurnya:
JNE → pintu keluar A
J&T → pintu keluar BAkhirnya paket benar-benar keluar lewat pintu:
Pintu A → ISP 1
Pintu B → ISP 2Jadi urutan besarnya cukup lu hafal begini:
PCC membagi → Connection Mark memberi label → Routing Mark memilih tabel → Routing Table menentukan gateway → Gateway mengirim paket keluar lewat ISP.
Itu sebenarnya jantung dari konfigurasi PCC yang barusan lu praktikkan. Begitu rantai ini kebayang, rule-rule Mangle tadi nggak lagi cuma kumpulan dropdown yang lu klik sambil berharap dewa jaringan sedang baik hati.
Cookie preferences