Belajar Mikrotik: Load Balance dengan Menggunakan Metode PCC (Simple)

[Load Balance] Load Balance dengan Menggunakan Metode PCC (Simple)



Kebutuhan layanan internet yang sangat besar pada saat ini memungkinkan kita untuk berlangganan lebih dari satu layanan internet. Sebagai administrator/pengelola jaringan, kita harus memastikan koneksi internet yang dimiliki dapat digunakan secara optimal dengan membagi beban dan koneksi ke beberapa jalur/link yang dimiliki dengan menggunakan teknik Load Balance.

Load balance digunakan untuk mendistribusikan beban trafik koneksi pada dua atau lebih jalur koneksi secara seimbang agar trafik berjalan optimal, sehingga dapat memaksimalkan throughput bandwidth yang didapat dari provider. Selain itu laoad balance dapat digunakan untuk memperkecil waktu tanggap dan menghindari overloadpada salah satu jalur koneksi. Ada beberapa metode load balance yang bisa kita gunakan, diantaranya ECMP (Equal-Cost Multiple Path)PCC (Per-Connection Classifier) dan NTH.

PCC (Per-Connection Classifier) mengambil bidang yang dipilih dari header IP, kemudian dengan bantuan algoritma hashing mengubah bidang tersebut menjadi 32-bit. Nilai ini kemudian dibagi dengan denominator tertentu dan sisanya kemudian dibandingkan dengan reminder tertentu, apabila sama maka paket akan ditangkap. Rules dapat dibuat dengan memilih informasi dari src-addressdst-addresssrc-port atau dst-port dari header IP.

PCC merupakan metode yang menspesifikasikan suatu paket menuju gateway koneksi tertentu. PCC mengelompokkan trafik koneksi yang akan melalui atau keluar masuk router menjadi beberapa kelompok. Mikrotik akan mengingat-ingat gateway yang telah dilewati di awal trafik koneksi, sehingga pada paket-paket data selanjutnya yang masih berkaitan dengan paket data sebelumnya akan dilewatkan pada jalur gateway yang sama.

KONFIGURASI DASAR 
Topologi yang akan digunakan adalah sebagai berikut.

 

IP Address 
Router memiliki dua jalur WAN (ISP) dengan alamat IP statis 10.111.0.2/24 (ISP-1) dan alamat IP dinamis 172.16.0.0/24 (ISP-2), sedangkan jaringan lokal menggunakan network 192.168.0.0/24.

/ ip address 
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=ether5 
add address=10.111.0.2/24 network=10.111.0.0 broadcast=10.111.0.255 interface=ether1 

/ip dhcp-client add interface=ether2 add-default-route=no disabled=no

   

NAT 
Untuk konfigurasi NAT, karena terdapat dua uplink ke ISP, maka tambahkan dua rule src-nat mengarah ke ISP masing-masing. 

/ ip firewall nat 
add chain=srcnat out-interface=ether1 action=masquerade comment=nat-isp1 
add chain=srcnat out-interface=ether2 action=masquerade comment=nat-isp2 

 

Policy Routing 
Langkah pertama, untuk mengelola koneksi yang dimulai dari luar, koneksi replies harus keluar melalui interface yang sama (dari IP Publik yang sama) saat koneksi request datang. Lakukan marking untuk menandai semua koneksi masuk, untuk mengingat interface yang digunakan.

/ ip firewall mangle 
add chain=prerouting dst-address=10.111.0.0/24  action=accept in-interface=ether5 
add chain=prerouting dst-address=172.16.0.0/24  action=accept in-interface=ether5 

add chain=prerouting in-interface=ether1 connection-mark=no-mark action=mark-connection new-connection-mark=ISP1_conn 
add chain=prerouting in-interface=ether2 connection-mark=no-mark action=mark-connection new-connection-mark=ISP2_conn

Action mark-routing hanya dapat digunakan di mangle chain output dan prerouting, tetapi mangle chain prerouting menangkap semua lalu lintas yang menuju ke router. Untuk menghindari ini kita akan menggunakan dst-address-type =!local. Selanjutnya tambahkan rule PCC untuk membagi lalu lintas menjadi dua kelompok berdasarkan source address dan destination address (both-addresses). Karena kecepatan koneksi kedua ISP berbeda (1 Mbps dan 512 kbps), kita membagi beban trafiknya menjadi 3 (tiga) bagian. Dua bagian pertama akan melewati gateway ISP-1, dan 1 bagian terakhir akan melewati gateway ISP-2.

/ ip firewall mangle 
add chain=prerouting  in-interface=ether5 connection-mark=no-mark dst-address-type=!local 
    per-connection-classifier=both-addresses:3/0 action=mark-connection new-connection-mark=ISP1_conn 
add chain=prerouting  in-interface=ether5 connection-mark=no-mark dst-address-type=!local 
    per-connection-classifier=both-addresses:3/1 action=mark-connection new-connection-mark=ISP1_conn 
add chain=prerouting  in-interface=ether5 connection-mark=no-mark dst-address-type=!local 
    per-connection-classifier=both-addresses:3/2 action=mark-connection new-connection-mark=ISP2_conn

Setelah rule PCC dibuat, tambahkan action mark-routing berdasarkan connection -mark yang sudah dibuat. Karena policy routing hanya diperlukan untuk trafik yang keluar/menuju ke internet, jangan lupa untuk menentukan parameter in-interface.

/ ip firewall mangle 
add chain=prerouting connection-mark=ISP1_conn in-interface=ether5 action=mark-routing 
    new-routing-mark=to_ISP1 
add chain=prerouting connection-mark=ISP2_conn in-interface=ether5 action=mark-routing 
    new-routing-mark=to_ISP2 

add chain=output connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1      
add chain=output connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2

Berikut adalah contoh pembuatan marking load balance PCC pada firewall mangle. 

 

Konfigurasi ini bisa disesuaikan dengan jumlah uplink yang dimiliki, dan juga jumlah jaringan lokal yang saat ini terpasang. 
Setelah konfigurasi mark-connection dan mark-routing selesai, tambahkan rule default route  pada menu IP>Route, yaitu berdasarkan mark-routing yang sudah dibuat. 
Berikut contoh command line yang digunakan.

/ ip route 
add dst-address=0.0.0.0/0 gateway=10.111.0.1 routing-mark=to_ISP1 check-gateway=ping 
add dst-address=0.0.0.0/0 gateway=172.16.0.1 routing-mark=to_ISP2 check-gateway=ping

Tambahkan juga rule berikut ini, yang bisa berfungsi sebagai failover saat salah satu ISP mati atau putus. 

/ ip route 
add dst-address=0.0.0.0/0 gateway=10.111.0.1 distance=1 check-gateway=ping 
add dst-address=0.0.0.0/0 gateway=172.16.0.1 distance=2 check-gateway=ping

 

PENGUJIAN 
Kita melakukan beberapa pengujian untuk membuktikan konfigurasi PCC sudah berjalan dengan baik.

Pengujian Download 
 
Dari hasil pengujian di atas, pada saat mendownload file pertama (1 koneksi) mendapatkan speed 107 KBps/856 kbps yang melalui ISP-1, lalu melakukan download file lagi (koneksi baru) pada server lain mendapatkan speed 59 KBps/472 kbps yang melalui ISP-2.

Pengujian Akses Video 
 
Dari hasil pengujian di atas, ketika mengakses video di website yang berbeda terlihat kedua jalur ISP aktif bersamaan. Dapat dilihat pada trafik kedua interface upstream (ISP), Rx. Rate 1015 kbps dan 525 kbps sesuai dengan kecepatan koneksi masing-masing ISP.

Pengujian Traceroute 
 
Dari hasil kedua traceroute di atas untuk tujuan alamat IP yang berbeda, terlihat keduanya melalui gateway ISP yang berbeda. Tujuan 202.65.113.16 melalui gateway ISP-1 (10.111.0.1) sementara tujuan 103.255.15.28 melalui gateway ISP-2 (172.16.0.1).

Artikel ini disusun pada tanggal 18 Desember 2020 

Sumber: https://citraweb.com

Share this

Related Posts

Previous
Next Post »