Dokumentasi

RADIUS Server

Built-in RADIUS server untuk autentikasi PPPoE dan Hotspot terpusat. Support multi-vendor NAS — MikroTik, OLT, Cisco, Ubiquiti — tanpa perlu install FreeRADIUS terpisah.

Fitur Utama

Autentikasi Terpusat

Satu RADIUS server menangani autentikasi PPPoE/Hotspot dari semua NAS. Subscriber cukup punya satu kredensial, bisa konek dari router manapun.

Multi-Vendor

Support MikroTik, OLT (ZTE/Huawei), Cisco, Ubiquiti, dan perangkat generic. Atribut bandwidth otomatis disesuaikan per vendor.

High Performance

Arsitektur multi-worker dengan 3 layer cache (DashMap + Redis + DB covering index). Target: 5.000 auth/detik, <5ms latency.

Session Control

Concurrent session limit, MAC binding, balance check, subscription expiry — semua dicek saat autentikasi.

Mode Provisioning

Setiap tenant bisa memilih cara autentikasi subscriber. MikroTik API tetap dibutuhkan untuk monitoring, queue management, dan fitur lain — RADIUS hanya menggantikan bagian autentikasi.

ModeAutentikasiMonitoringKapan Dipakai
MikroTik APIPPP secret di-push ke routerMikroTik API pollingDefault — ISP kecil/menengah, MikroTik only
RADIUSRADIUS server (centralized)RADIUS accountingISP dengan multi-vendor NAS (OLT + MikroTik)
BothRADIUS auth + MikroTik API syncBothTransisi dari API ke RADIUS, atau butuh keduanya

Alur Autentikasi (10 Langkah)

Setiap Access-Request melewati 8 tahap validasi sebelum diterima:

1

NAS Resolve

NAS IP → tenant_id (DashMap cache, 0 query)

2

Credential Lookup

Username → subscriber/service (Redis cache → DB fallback)

3

Password Verify

PAP decrypt atau CHAP verify

4

Status Check

Subscriber aktif? Service aktif? Subscription belum expired?

5

MAC Binding

Cek Calling-Station-Id vs MAC terdaftar (jika enabled)

6

Session Limit

Cek jumlah sesi aktif vs max_sessions per paket

7

Profile Resolve

Ambil bandwidth + atribut dari RADIUS profile (DashMap cache)

8

Access-Accept

Return Mikrotik-Rate-Limit / Huawei-Rate / ZTE-Rate + IP pool + timeout

Vendor Support

Atribut bandwidth otomatis di-build berdasarkan tipe NAS. Anda hanya perlu set bandwidth di RADIUS profile — sistem otomatis mengirim VSA yang tepat ke setiap vendor.

VendorNAS TypeBandwidth AttributeKeterangan
MikroTikmikrotikMikrotik-Rate-Limit (VSA 14988:8)RouterOS v6/v7, PPP profile
CiscociscoCisco-AVPair (VSA 9:1)IOS/IOS-XE rate-limit
HuaweihuaweiInput/Output-Average-Rate (VSA 2011)OLT MA5600/MA5800, BNG
ZTEzteRate-Ctrl-Scr (VSA 3902)OLT C300/C600
UbiquitiubiquitiBandwidth-Max-Up/Down (VSA 41112)EdgeRouter, UISP
GenericgenericStandard RFC onlyTanpa vendor-specific

Cara Setup

1

Aktifkan RADIUS

Buka menu RADIUS Server → tab Settings → toggle "RADIUS Server Enabled". Server akan listen di UDP port 1812 (auth) dan 1813 (accounting).

2

Tambah NAS Client

Tab NAS Clients → Add NAS. Masukkan IP router, shared secret, dan tipe perangkat. Secret ini harus sama dengan yang di-set di router.

3

Buat RADIUS Profile

Tab Profiles → Add Profile. Pilih paket (atau catch-all), set bandwidth up/down, IP pool, session timeout. Profile otomatis di-cache.

4

Konfigurasi Router

Di MikroTik: /radius add address=<server-ip> secret=<secret> service=ppp. Di OLT: set RADIUS server address dan secret di konfigurasi AAA.

5

Test Autentikasi

Gunakan fitur "Test Auth" di dashboard untuk simulasi. Atau langsung test PPPoE connect dari subscriber device.

Contoh Konfigurasi MikroTik

# Tambah RADIUS server
/radius add address=<billing-server-ip> secret=<shared-secret> service=ppp

# Aktifkan RADIUS incoming (untuk CoA disconnect)
/radius incoming set accept=yes

# Set PPP untuk gunakan RADIUS
/ppp aaa set use-radius=yes accounting=yes interim-update=5m

Arsitektur Performa

RADIUS server dioptimasi untuk skala ISP besar:

Multi-Worker

4 worker UDP paralel (configurable). Kernel distribusi packet otomatis.

3-Layer Cache

DashMap (NAS + Profile) + Redis (credential, 30s TTL) + DB covering index.

Batch Writer

Auth log & accounting di-batch per 100ms. 5000 auth/s = 50 batch INSERT/s.

Fitur Keamanan

MAC Binding — kunci subscriber ke MAC address tertentu, cegah credential sharing
Concurrent Session Limit — batasi jumlah sesi aktif per subscriber (default: 1)
Auto-reject expired/suspended — subscriber yang expired atau di-suspend otomatis ditolak
Balance check — opsional, tolak subscriber dengan saldo negatif
Auth logging — setiap percobaan login dicatat (accept/reject + alasan)
Encrypted shared secrets — AES-256-GCM, didekripsi hanya saat auth