Menangani CPU Load Mikrotik Naik 100 Persen
Mikrotik RouterOS merupakan sistem operasi router yang banyak digunakan di berbagai jaringan, baik skala kecil maupun menengah. Salah satu sinyal paling penting yang menunjukkan kesehatan sebuah router adalah CPU Load. Ketika CPU Load naik mendekati atau melebihi 100 persen, performa jaringan dapat menurun drastis. Artikel ini akan membahas penyebab umum, cara mengidentifikasi masalah serta solusi praktis untuk menurunkan CPU Load pada Mikrotik.
Pendahuluan
CPU Load adalah persentase beban kerja CPU dibandingkan kapasitas maksimalnya. Pada perangkat Mikrotik, nilai estimasi CPU Load biasanya dihitung selama 5 detik terakhir. Sudut pandang teknis ini penting, karena meski CPU fisik mempunyai kapasitas tertentu, RouterOS memiliki overhead sendiri yang juga memengaruhi angka CPU Load.
Nilai kurang dari 15 persen biasanya dianggap aman. Nilai antara 15–30 persen memerlukan perhatian. Nilai di atas 30 persen sering menandakan adanya isu yang perlu ditangani. Ketika CPU Load mendekati atau melewati 100 persen, router dapat: mengulang paket, melakukan garbage collection secara intensif, dan bahkan me-reset layanan tertentu.
Penyebab CPU Load Tinggi
Kesalahan konfigurasi dan beban trafik adalah dua faktor utama. Berikut adalah daftar penyebab yang sering ditemui:
- Firewall yang terlalu kompleks
- Masalah NAT (Network Address Translation) pada paketan besar
- Socket mayoritas open untuk layanan seperti HTTP, SSH, atau VPN
- Penerapan QoS (Quality of Service) yang rumit
- Penggunaan Mikrotik PPPoE, L2TP, atau PPTP yang tinggi
- Patch atau OS yang ketinggalan zaman
- Monitoring skrip eksternal yang aktif setiap detik
- Penggunaan Daemon MikroTik seperti “/ip hotspot”, “/ip dns”, atau “/ip dhcp-server” berlebihan
Diagnosa Awal: Menggunakan Router OS Tools
1. Melihat CPU Statistics
Gunakan perintah di Prompt Command (CLI) Mikrotik:
/system resource print
Baris cpu-load akan menampilkan nilai saat ini. Jika Anda cukup familiar dengan kode srv.os atau menggunakan webfig, Anda bisa melihat panel Overview.
2. Menggunakan Tools Real-Time
Akses Tools → Traffic Monitor dan pilih port yang dipanaskan menghasilkan nilai CPU Load yang tinggi. Anda dapat memfilter trafik berdasarkan IP, port, atau protokol.
3. Log Sistem
Log mengandung pesan peringatan saat CPU Load tinggi. Carilah:
/log print where message~"cpu"
Notekan pesan seperti “cpu load is high” atau “cpu load overflow” untuk mengarahkan perbaikan.
Langkah-langkah Deteksi Detil
- Verifikasi Tarif dan Pola Trafik: Pastikan tidakada sambungan tidak diatur atau penggunaan bandwidth berlebih.
- Periksa Pengaturan Firewall: Reducir aturan berlebih, terutama yang menggunakan parameter
action=acceptdenganfilteringberulang. Gunakan opsiquickdengan hati-hati. - Analisa NAT: NAT yang kompleks dapat memicu CPU Load. Optimasi dengan menggunakan
iptables-like command/ip firewall nathanya untuk range yang dibutuhkan. - Pastikan Layanan Tidak Berlebihan: Periksa /ip hotspot, /ip dns, dan /ip dhcp-server. Periksa apakah ada
leaksaat agen tidak keluar. - Evaluasi Skrip Otomatis: Skrip di
/system scheduleryang dijalankan setiap beberapa detik juga dapat menambah beban. Pertimbangkan jarak waktunya.
Optimasi Firewall untuk Menurunkan CPU Load
Firewall adalah komponen paling konsisten yang dapat menghasilkan beban CPU tinggi. Mikrotik RouterOS menawarkan dua jenis firewall: filter dan nat. Berikut pendekatan pragmatis:
1. Rule Minimization
Setiap rule memberikan beban. Elakkan rule action=accept di input chain tanpa in-interface=ether1 secara langsung. Gabungkan aturan dengan composite rules bila memungkinkan.
Contoh
/ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list=trust action=accept
/ip firewall filter add chain=input protocol=tcp dst-port=23 src-address-list=trust action=accept
...
Alihkan semua layanan trust ke satu rule:
/ip firewall filter add chain=input protocol=tcp dst-port=22,23 src-address-list=trust action=accept
2. Quick Flag dengan Bijak
Flag quick membuat firewall menghentikan pencocokan rule setelah ditemukan pemenuhan. Idealnya, gunakan quick pada rule yang menerima trafik penting. Namun, terlalu banyak rule quick dapat menambah CPU jika tidak dirancang konsisten.
Contoh
/ip firewall filter add chain=forward connection-state=invalid action=drop
/ip firewall filter add chain=forward connection-state=established,related action=accept
/ip firewall filter add chain=forward src-address-list=trusted quick=yes action=accept
...
3. Match Against Address Lists
Gunakan alamat list (src-address-list dan dst-address-list) agar rule lebih general. Alamat list disertai add-timeout dapat menyimpen alamat host sementara. Penggunaan list mengurangi jumlah rule.
4. Implementasi queue untuk traffic management
Queue dapat mengurangi beban CPU dengan mengelola bandwidth di level device. Tentukan queue type pcq atau simple alih-alih konfigurasi firewall terburuk. Queue berkembang seiring waktu dan lebih sederhana dibanding firewall filtering.
Optimalisasi NAT
NAT adalah proses yang sering memakan CPU besar, terutama saat mengurus sejumlah besar sesi dinamis. Berikut cara mengurangi beban NAT:
- Kalikan sinkronisasi
/ip firewall nat add chain=srcnat out-interface=ether1 action=masqueradedi satu rule saja: Jangan menambahkan rule NAT pada interface uplink satu per satu. - Jika ada DNS tunneling atau layanan tunneling lain, gunakan
action=src-nat dst-address=xxxsinergis. - Penghapusan device dengan
ip addressstatis yang tidak digunakan atau duplikat. NAT tidak menargetkan jam sebanding. - Pastikan register NAT sessions via
/ip firewall nat print statstidak melampaui1Msesi. Jika melebihi, pertimbangkan update firewall atau upgrade hardware. - Menggunakan PROXY meskipun tidak perlu (contoh: HTTP proxy) dapat meningkatkan overhead. Hapus bila tidak dipakai.
PPPoE, PPP, L2TP dan VPN High Load
Untuk jaringan pelanggan, PPPoE sering menjadi sumber utama beban. Berikut strategi pengurangan load:
- Gunakan
max-mtudanmax-payloadyang disesuaikan dengan IPsec atau L2TP. Kontrolmax-mtudapat meminimalkan retransmission overhead. - Disable
ip assignKE DIPERHATIKAN untuk setiap session ketika tidak memerlukan dynamic IP assignment. - Efisiensi di
/ppp profiledenganuse-ipsec=disablebila tidak ada IPsec. Setdll-callbackjika tidak digunakan. - Set
session-timeout=60agar session lama tida memakan sumber daya. Sesuaikan waktu tertentu agar otomatis connect close.
Penggunaan Scheduler (Cron) dan Skrip
Mikrotik memungkinkan eksekusi skrip otomatis. Jika skrip dijalankan setiap 1 detik, CPU Load akan naik. Berikut cara mengoptimalkan:
- Kurangi interval scheduler. Gunakan
5atau10detik bila memungkinkan. - Gunakan
queue-type=pcqalih-alihsimple. PCQ memanfaatkan CPU lebih efisien. - Jika skrip membutuhkan pembaruan IP address, gunakan
/dhcp-client adddisabled=nodaripada memakaiset arp=yesdi dalam skrip berulang. - Optimalkan skrip dengan log minimal. Lali log setiap kali skrip dijalankan; log overhead dapat membuat CPU Overflow.
- Periksa
/system schedulerper menuwriteataustart-on-bootbila tidak diperlukan.
Update Firmware dan RouterOS Version
Mikrotik terus memperbaiki bug, terutama di kernel dan scheduler. Versi lama RouterOS dapat menimbulkan memory leak dan CPU spike. Pastikan untuk:
- Melakukan
sftpupdate secara berkala. - Backup konfigurasi terlebih dahulu
/export file=backup. - Gunakan mode recovery bila update gagal.
- Gunakan
/system package remove oldbila ada package yang tidak terpakai.
Pengawasan Tanpa Peningkatan CPU
Melakukan monitoring intensif dapat memperparah CPU load. Berikut cara membatasi:
- Gunakan SNMP
CPU-usageuntuk memonitor namun minimal lewat polling 30 detik. - Jangan aktifkan “bandwidth usage monitor” berulang kali di interface yang sama.
- Disable
unity-statsdisystem identitybila tidak dibutuhkan.
Perangkat Hardware dan Resource Robotik
Jika semua langkah proses masih gagal, pertimbangkan upgrade hardware. Mikrotik memanfaatkan CPU dengan batasan limit. RouterModel hendak di upgrade lebih bagus:
1. Upgrade MikroTik harian 1.0 ke 4.0
- Mikrotik 4.0 memanfaatkan KERN - 32-bit RealTime. Text more "embarck" mempermudah kampil CPU.
2. Memakai hardware lebih kuat
- Mikrotik hXX atau hCX dengan CPU 2.0 GHz > 512 MB RAM > 16 Mbit/s uplink.
- Server hosting dengan remote management SSH dan API colok.
Penanganan Masalah Spesifik: Contoh Dua Kasus
Kasus 1: SSH Flood Menyebabkan CPU Load
Kali kali Anda menambah server baru ke jaringan Mikrotik, Anda memerlukan akses SSH. Namun, siapa pun dapat mencoba brute force. Gaya ini menanam keamanan: ip firewall filter add chain=input protocol=tcp dst-port=22 conn-state=new action=drop. Lalu, controller: actual"" di log saat DROP pakut. Ini mengurangi beban lancar.
Kasus 2: Server DNS tersembunyi Hijack
MDNS atau DNS spoofing dapat membuat router menerima banyak paket. Optimize ip dns cache-size=1000 dan ip dns query-size=10 untuk menutupi kapan caching menjadi basis. Terapkan reject invalid packets di firewall: /ip firewall filter add chain=forward src-protocol=udp dst-port=53 action=drop.
Best Practices Jangka Panjang
- Gunakan template konfigurasi
standard.srtyang menyederhanakan rule. - Backup berkala dan firewall tested secara
offline. - Update RouterOS setidaknya setahun sekali.
- Monitor CPU, Memory, Disk, dan PCS secara konsisten memakai SNMP atau
/tool fetch. - Konfigurasi
/ip firewall basic-ruleuntuk memblokir IP berbahaya dan paket anomali. - Implementasi VLAN untuk mendistribusikan traffic di jaringan.
- Rotasi
DHCP profileberulang untuk menghindari rentang tidak terpakai.
Kesimpulan
CPU Load 100 persen bukanlah titik akhir, melainkan panggilan untuk menjaga keselamatan jaringan. Menangani masalah ini memerlukan kombinasi identifikasi sumber, penerapan konfigurasi efisien, serta pemeliharaan berkala. Mengelola firewall, NAT, sesi PPP, dan skrip yang berulang menjadi kunci. Update firmware secara teratur dan periksa ulang set konfigurasi pada sirkulasi rutin minimalkan overhead. Bila semua langkah gagal, upgrade hardware menjadi solusi melegenda. Dengan pendekatan konsisten, Anda dapat menurunkan CPU Load Mikrotik ke level ideal, meningkatkan keandalan jaringan, dan mengoptimalkan sumber daya perangkat.
Selamat mencoba, dan semoga jaringan Anda terus stabil tanpa kebocoran CPU Load.