Connection Limit TCP & UDP Per Pengguna MikroTik

Dari Kicap Karan Wiki
Loncat ke navigasiLoncat ke pencarian

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

  1. Pengguna aktif dimasukkan ke address-list
  2. Firewall membaca address-list tersebut
  3. 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.