Connection Limit TCP & UDP Per Pengguna MikroTik
Ringkasan
Connection Limit TCP & UDP adalah mekanisme firewall pada MikroTik untuk membatasi jumlah koneksi simultan per alamat IP pengguna. Fitur ini digunakan untuk menjaga stabilitas router, keadilan penggunaan jaringan, dan kualitas layanan pada lingkungan multi-user seperti hotspot, homelab, dan jaringan desa.
Ruang Lingkup
Dokumentasi ini berlaku untuk:
- Router MikroTik (RouterOS v6 & v7)
- Jaringan LAN bersama
- Hotspot MikroTik
- Jaringan desa / ISP kecil
Tidak direkomendasikan untuk:
- Server publik (VPS)
- Router backbone berkapasitas besar tanpa NAT
Masalah yang Diselesaikan
Tanpa pembatasan koneksi:
- Pengguna dapat membuka koneksi berlebihan
- Connection tracking penuh
- CPU router meningkat drastis
- Pengguna lain mengalami delay, disconnect, dan timeout
Dengan connection limit:
- Setiap IP memiliki batas koneksi yang wajar
- Router bekerja lebih stabil
- Pengalaman pengguna lebih konsisten
Konsep Teknis
Connection Tracking
MikroTik menyimpan setiap koneksi aktif di dalam connection tracking table. Setiap koneksi membutuhkan:
- Memori
- Proses CPU
- Pemrosesan firewall
Connection limit bekerja dengan membatasi jumlah entri koneksi per IP.
Perbedaan TCP dan UDP
TCP
- Bersifat stateful dan reliable
- Digunakan oleh web, download manager, aplikasi berat
- Risiko: membuka banyak koneksi paralel
UDP
- Bersifat connectionless
- Digunakan oleh QUIC, game online, streaming
- Risiko: flood dan trafik tidak terkontrol
Catatan: Limit UDP sebaiknya lebih kecil dibanding TCP.
Arsitektur Implementasi
- Pengguna aktif dimasukkan ke address-list
- Firewall membaca address-list tersebut
- Koneksi yang melebihi batas akan di-drop
Pendekatan ini modular, rapi, dan mudah dirawat.
Konfigurasi Standar
1. Address List Pengguna Aktif
/ip firewall filter
add chain=forward src-address=192.168.1.0/24 action=add-src-to-address-list \
address-list=ACTIVE-USERS address-list-timeout=1h \
comment="[WIKI] Track pengguna aktif"
2. Limit Koneksi TCP per Pengguna
/ip firewall filter
add chain=forward protocol=tcp src-address-list=ACTIVE-USERS \
connection-limit=100,32 action=drop \
comment="[WIKI] Limit TCP per pengguna"
3. Limit Koneksi UDP per Pengguna
/ip firewall filter
add chain=forward protocol=udp src-address-list=ACTIVE-USERS \
connection-limit=60,32 action=drop \
comment="[WIKI] Limit UDP per pengguna"
Rekomendasi Nilai
Rumah kecil
- TCP: 50–80
- UDP: 30–50
Hotspot
- TCP: 80–120
- UDP: 40–70
Jaringan desa
- TCP: 100–150
- UDP: 50–80
Catatan: Nilai di atas adalah panduan awal dan harus disesuaikan dengan pola trafik nyata.
Best Practice
- Letakkan rule setelah accept established, related
- Jangan terapkan connection limit pada chain=input untuk klien
- Gunakan timeout pada address-list agar tetap bersih
- Monitoring koneksi:
/ip firewall connection print count-only
Dampak ke Aplikasi Real-Time
Connection limit dapat berdampak pada:
- WhatsApp Call
- Telegram Call
- Game online
Jika limit terlalu ketat:
- Panggilan dapat terputus
- Aplikasi reconnect berulang
Solusi:
- Naikkan limit UDP secara bertahap
- Kombinasikan dengan pengaturan timeout UDP
---
Keamanan dan Stabilitas
Connection limit bukan fitur keamanan utama, namun berperan penting dalam:
- Mencegah abuse internal
- Mengurangi efek DoS ringan
- Menjaga kualitas layanan jaringan
Disarankan dikombinasikan dengan:
- Drop invalid connection
- DNS rate limiting
- MSS clamping
Status Implementasi
- ✔ Digunakan di lingkungan produksi
- ✔ Aman untuk jaringan multi-user
- ✔ Direkomendasikan untuk hotspot dan jaringan desa
Referensi Internal
- Wiki: Drop Invalid Input & Forward
- Wiki: DNS Rate Limiting
- Wiki: MSS Clamping
Dokumen ini merupakan bagian dari dokumentasi internal jaringan dan dapat disesuaikan sesuai kebutuhan implementasi.