MikroTik routers speak RADIUS natively, which makes them a perfect NAS for ISP billing. Point RouterOS at a RADIUS server and it will ask, for every login, "is this user allowed, and on what plan?" This guide explains how that works — authentication, authorization, accounting and live disconnects — and how to get a working billing panel running fast.
How RADIUS billing works
RADIUS is built on three A's:
- Authentication — is this username/password valid? MikroTik forwards the login to the RADIUS server, which checks the subscriber and their status (active, expired, disabled).
- Authorization — what plan applies? The server returns attributes: rate limits (e.g.
20M/20M), IP pool, session timeout. - Accounting — how much did they use? MikroTik streams start/stop/interim records so the panel can show live sessions and data usage.
Add CoA (Change of Authorization) and you can also cut or change a live session instantly from the panel.
What you need
- A MikroTik router (RouterOS) as your NAS.
- A RADIUS server — ISP Boost ships a production FreeRADIUS 3.2 engine, so you don't configure raw FreeRADIUS by hand.
- A shared secret — any strong string that both sides agree on.
Connect a MikroTik, step by step
1. Add the NAS in your panel. In ISP Boost go to NAS → New, enter the router's IP and a shared secret.
2. Point RouterOS at the RADIUS server. On the MikroTik terminal:
/radius add service=ppp,hotspot address=<RADIUS-IP> secret=<your-shared-secret>
/ppp aaa set use-radius=yes
/ip hotspot profile set [find] use-radius=yes
3. Create a subscriber with a package (rate limit + validity), then connect the customer's PPPoE or Hotspot session. Live sessions appear under Reports → Sessions; auth attempts under Reports → Auth log.
The exact same standard RADIUS flow works for Cisco, Ubiquiti, Huawei, Juniper, Cambium and any RADIUS-compliant NAS — see the full NAS & router integrations.
Live disconnect with CoA
To cut sessions instantly from the panel (for non-payment, plan changes, or abuse), enable incoming CoA on the MikroTik:
/radius incoming set accept=yes port=3799
Now "Disconnect" in the panel drops the live session in real time — no waiting for the session to time out.
The fast path
Configuring FreeRADIUS, SQL, and a billing UI by hand is a weekend project. ISP Boost collapses it into one command that installs the whole stack — FreeRADIUS, PHP, MySQL, Redis, nginx and the panel — on a fresh Ubuntu server:
URL=https://get.ispboost.com/install.sh && curl -ksSO $URL; bash install.sh
Then add your MikroTik as above and start creating subscribers. It's free for 50 users. See the install guide or the full feature list.


