🚧 Pembatasan Koneksi TCP & UDP per Pengguna di MikroTik

🚧 Pembatasan Koneksi TCP & UDP per Pengguna di MikroTik

Pendahuluan

Dalam lingkungan jaringan bersama seperti homelab, hotspot, atau jaringan desa / ISP kecil, salah satu masalah yang sering terjadi adalah penggunaan koneksi yang tidak adil. Beberapa pengguna atau perangkat dapat membuka terlalu banyak koneksi, baik disengaja maupun tidak, sehingga menyebabkan:

  • Beban CPU router meningkat
  • Tabel NAT / connection tracking penuh
  • Latensi tinggi dan packet loss
  • Pengguna lain merasakan internet lambat atau tidak stabil

Untuk mengatasi hal ini, MikroTik menyediakan fitur yang sangat kuat bernama connection-limit, yang memungkinkan kita membatasi jumlah koneksi TCP dan UDP aktif per pengguna (alamat IP).


Mengapa Perlu Connection Limit

1. Mencegah Satu Pengguna Menghabiskan Sumber Daya

Aplikasi seperti:

  • Download manager
  • Torrent client
  • Aplikasi mobile yang agresif
  • Perangkat IoT yang salah konfigurasi

Dapat membuka ratusan hingga ribuan koneksi.

Tanpa pembatasan, satu pengguna saja bisa merusak kualitas jaringan untuk semua orang.


2. Melindungi Performa Router

Setiap koneksi mengonsumsi sumber daya pada:

  • Connection tracking
  • Proses firewall
  • Tabel NAT

Dengan membatasi koneksi, kita membantu menjaga:

  • CPU router tetap stabil
  • Penggunaan memori terkendali
  • Perilaku jaringan lebih konsisten

3. Meningkatkan Keadilan dan Stabilitas

Dengan connection limit:

  • Setiap pengguna mendapat jatah yang adil
  • Disconnect acak berkurang
  • Hotspot keepalive menjadi lebih stabil

Apa yang Terjadi Jika Tidak Dibatasi

Jika tidak menerapkan pembatasan koneksi TCP/UDP:

  • Satu perangkat bisa membuka koneksi berlebihan
  • Router mulai menjatuhkan koneksi secara acak
  • Pengguna sering logout sendiri
  • Panggilan WhatsApp / Telegram menjadi patah-patah atau terputus
  • Browsing dan DNS terasa lambat

Singkatnya: bandwidth mungkin cukup, tetapi pengalaman pengguna buruk.


Strategi Implementasi

Kita akan menerapkan connection limit dalam tiga tahap:

  1. Menambahkan pengguna aktif ke address list
  2. Membatasi koneksi TCP per pengguna
  3. Membatasi koneksi UDP per pengguna

Pendekatan ini membuat rule lebih rapi, mudah dibaca, dan mudah dirawat.


Langkah 1 – Menambahkan Pengguna ke Address List

Pertama, kita membuat address list yang secara otomatis mencatat pengguna aktif.

Contoh: menambahkan pengguna dari jaringan LAN atau hotspot.

/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="Menambahkan pengguna aktif ke address list"

Penjelasan

  • src-address → subnet pengguna
  • ACTIVE-USERS → daftar dinamis pengguna aktif
  • timeout=1h → pengguna akan otomatis dihapus jika tidak aktif

Langkah 2 – Pembatasan Koneksi TCP per Pengguna

Selanjutnya kita batasi jumlah koneksi TCP aktif per IP.

/ip firewall filter
add chain=forward protocol=tcp src-address-list=ACTIVE-USERS \
    connection-limit=100,32 action=drop \
    comment="Limit koneksi TCP per pengguna"

Penjelasan

  • connection-limit=100,32
    • Maksimal 100 koneksi TCP per IP
    • /32 berarti dihitung per alamat IP individual
  • Koneksi yang melebihi batas akan langsung di-drop

Langkah 3 – Pembatasan Koneksi UDP per Pengguna

Walaupun UDP bersifat connectionless, MikroTik tetap melakukan tracking.

/ip firewall filter
add chain=forward protocol=udp src-address-list=ACTIVE-USERS \
    connection-limit=60,32 action=drop \
    comment="Limit koneksi UDP per pengguna"

Penjelasan

  • Batas UDP sebaiknya lebih kecil dari TCP
  • Mencegah penyalahgunaan dari:
    • Flood QUIC
    • Game atau streaming yang tidak normal
    • Lalu lintas mencurigakan

Rekomendasi Nilai (Panduan Umum)

Jenis JaringanLimit TCPLimit UDP
Rumah Kecil50–8030–50
Hotspot80–12040–70
Jaringan Desa100–15050–80
Selalu pantau dan sesuaikan berdasarkan perilaku trafik nyata.

Catatan Penting

  • Letakkan rule ini setelah rule accept untuk established/related
  • Jangan menerapkan connection-limit pada chain input untuk pengguna
  • Pantau koneksi dengan:
    /ip firewall connection print count-only

Penutup

Connection limit bukan untuk menyiksa pengguna, tetapi untuk:

  • Keadilan
  • Stabilitas
  • Performa yang dapat diprediksi

Bahkan dengan bandwidth kecil, jaringan yang dituning dengan baik akan terasa cepat dan stabil.

Konfigurasi ini sangat direkomendasikan untuk:

  • Jaringan hotspot
  • Akses internet bersama
  • Jaringan desa atau komunitas

Didokumentasikan berdasarkan pengalaman nyata mengelola homelab dan jaringan desa menggunakan MikroTik.