Disini saya akan melakukan load balance PCC di perangkat mikrotik dikarenakan metode LB PCC bersifat propietary hanya milik MikroTik.
Contoh kasus disini saya memiliki 2 jalur menuju arah internet dan 1 jalur untuk menuju jaringan lokal dengan IP address sebagai berikut.
10.10.1.2 /24 Gateway 10.10.1.1 = Ether 1 (ISP 1) 172.16.2.2 /24 Gateway 172.16.2.1 = Ether 2 (ISP 2) 192.168.3.1 /24 = Ether 3 (LOKAL)
Konfigurasi di router MikroTik
1. Menambahkan IP Address
/ip address add address=10.10.1.2/24 interface=ether1
/ip address add address=172.16.2.2/24 interface=ether2
/ip address add address=192.168.3.1/24 interface=ether3
2. Konfigurasi NAT masquerade
Membuat rule NAT Masquerade untuk interface yang mengarah ke internet (ISP1 Dan ISP2).
Ini bertujuan untuk mentranslasikan IP lokal yang ingin mengirim paket keluar/internet menjadi IP interface yang mengarah ke ISP. Ini dikarenakan jaringan lokal kita menggunakan IP privat bukan Publik
/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade
/ip firewall nat add chain=srcnat out-interface=ether2 action=masquerade
3. Konfigurasi Mangle untuk bypass koneksi LAN
Konfigurasi mangle untuk membypass koneksi LAN agar koneksi yang masuk kedalam jaringan kita tidak dikirimkan dengan metode PCC.
* Itu dikarenakan kita hanya melakukan Load Balance untuk koneksi yang mengarah keluar.
/ip firewall mangle add chain=prerouting dst-address=10.10.1.0/24 action=accept
/ip firewall mangle add chain=prerouting dst-address=172.16.2.0/24 action=accept
/ip firewall mangle add chain=prerouting dst-address=192.168.3.0/24 action=accept
4. Konfigurasi Mangle untuk koneksi dari Internet
Konfigurasi rule mangle untuk menandai koneksi-koneksi yang masuk dari internet ke interface WAN/Internet kita (Ether1 dan Ether2/ISP1 dan ISP2).
Ini bertujuan agar request-request koneksi dari internet yang masuk melalui interface ether1 atau ether2 seperti remote winbox menggunakan IP public akan konsisten dikirim (balasan) melaui interface yang sama.
/ip firewall mangle add chain=prerouting in-interface=ether1 action=mark-connection new-connection-mark=ISP1 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether2 action=mark-connection new-connection-mark=ISP2 passthrough=yes
5. Konfigurasi Mangle mark connection untuk PCC
Istilah pada kolom per-connection-classifier
Contoh:
per-connection-classifier=both-address:2/0
both-addresses = ditentukan berdasarkan kedunya src address atau dst address nya 2 = Denominator 0 = Remainder
5.1 Konfigurasi untuk Load Balance 2 ISP dengan kapasitas bandwidth yang sama
Membuat rule untuk memecah trafik data yang melalui router kita ke 2 stream yang berbeda (ISP1 dan ISP2)
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:2/0 action=mark-connection new-connection-mark=ISP1 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:2/1 action=mark-connection new-connection-mark=ISP2 passthrough=yes
5.2 Konfigurasi untuk Load Balance 3 ISP dengan kapasitas bandwidth yang sama
Denominator = 3 Remainder = 0 ke ISP 1 1 ke ISP 2 2 ke ISP 3
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/0 action=mark-connection new-connection-mark=ISP1 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/1 action=mark-connection new-connection-mark=ISP2 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/2 action=mark-connection new-connection-mark=ISP3 passthrough=yes
5.3 Konfigurasi untuk Load Balance 2 ISP dengan kapasitas bandwidth berbeda
Denominator = 3 Remainder = 0 ke ISP 1 1 ke ISP 2 2 ke ISP 2
Contoh kasus dari ISP 1 Kita mendapatkan bandwidth 10Mbps dan dari ISP 2 kita mendapatkan bandwidth 20 Mbps, maka konfigurasi nya adalah sebagai berikut
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/0 action=mark-connection new-connection-mark=ISP1 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/1 action=mark-connection new-connection-mark=ISP2 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 per-connection-classifier=both-addresses:3/2 action=mark-connection new-connection-mark=ISP2 passthrough=yes
Konfigurasi Mangle mark routing di chain prerouting
/ip firewall mangle add chain=prerouting in-interface=ether3 connection-mark=ISP1 action=mark-routing new-routing-mark=ke-ISP1 passthrough=yes
/ip firewall mangle add chain=prerouting in-interface=ether3 connection-mark=ISP2 action=mark-routing new-routing-mark=ke-ISP2 passthrough=yes
Konfigurasi Mangle mark routing di chain output
/ip firewall mangle add chain=output connection-mark=ISP1 action=mark-routing new-routing-mark=ke-ISP1 passthrough=yes
/ip firewall mangle add chain=output connection-mark=ISP2 action=mark-routing new-routing-mark=ke-ISP2 passthrough=yes
Sampai tahap ini proses pembuatan mangle sudah selesai, tahap selanjutnya adalah mengkonfigurasi routing nya (menambahkan tabel routing)
Konfigurasi Routing
Konfigurasi static routing untuk ke ISP 1 dan ke ISP 2
/ip route add dst-address=0.0.0.0/0 gateway=10.10.1.1 check-gateway=ping routing-mark=ke-ISP1
/ip route add dst-address=0.0.0.0/0 gateway=172.16.2.1 check-gateway=ping routing-mark=ke-ISP2
Konfigurasi static route untuk failover
Ini bertujuan agar jika salah satu jalur terputus maka akan mengambil jalur yang tersedia, distance diisikan 2 dikarenakan rule routing ini dijadikan sebagai rule backup
/ip route add dst-address=0.0.0.0/0 gateway=172.16.2.1 distance=2 routing-mark=ke-ISP1
/ip route add dst-address=0.0.0.0/0 gateway=10.10.1.1 distance=2 routing-mark=ke-ISP2
TESTING CANNOT RUN =====