RADIUS Server Not Responding on MikroTik RouterOS v7
A field checklist that separates PPPoE discovery, network reachability, RADIUS configuration, firewall policy, shared-secret errors, and accounting problems—so you test the right layer first.
Safety first: run the checks in order and change one thing at a time. Keep an existing management session open, export a backup before changing firewall or PPP settings, and never paste a real RADIUS shared secret into a public ticket or screenshot.
What “RADIUS server not responding” can mean
The message is not a single failure. It may mean the router cannot route to the RADIUS server, a firewall drops UDP, the RADIUS client is registered with the wrong source address, the server does not recognize the router as a NAS client, or the reply is rejected because the shared secret is wrong. A PPPoE client can also fail earlier during discovery, before RADIUS is involved at all.
Use this order: PPPoE discovery → IP reachability → RouterOS RADIUS entry → PPP AAA → RADIUS server client definition → shared secret and ports → authentication response → accounting.
1. Confirm that the failure reaches the RADIUS layer
If the client never receives a PADO, the issue is usually the subscriber-facing interface, bridge, VLAN, service name, or PPPoE server state—not RADIUS. On a test client, first confirm that the PPPoE server is visible and the client is attempting the expected service name.
On the router, print the PPPoE server configuration:
/interface pppoe-server server print detail
Confirm that the server is enabled, the interface is the subscriber-facing interface, and the service name matches the client when one is required. Do not put a normal IP address on the interface that receives PPPoE discovery unless your topology specifically requires a different design.
Then watch only the PPPoE and PPP log topics while making one test connection:
/log print follow where topics~"pppoe|ppp"
If there is no discovery or session activity, fix Layer 2 or the PPPoE server before investigating RADIUS.
2. Test IP reachability from the router
Replace the placeholder with the real RADIUS address. Run one command, read the result, and do not assume that a working ping proves UDP/1812 is allowed; it only proves that ICMP reached the address.
/ping address=<RADIUS_SERVER_IP>
If the address is in another subnet, inspect the route chosen by RouterOS:
/ip route check <RADIUS_SERVER_IP>
If the RADIUS server is reached through a specific VRF, source address, or tunnel, perform the test from that same routing context. A common WISP mistake is testing from a management path while PPP traffic uses a different VRF or source address.
3. Inspect the RouterOS RADIUS entry
Print the entry without exposing the secret in a screenshot:
/radius print detail
For PPPoE, verify that the entry includes service=ppp. The default authentication and accounting ports are UDP 1812 and 1813. Verify the server address, source address, and timeout. If you set src-address, the RADIUS server must know that source IP as the router/NAS client.
When a request is made, inspect the RADIUS counters:
/radius monitor [find]
Look for requests, accepts, rejects, timeouts, and bad replies. A timeout points toward routing, firewall, wrong address, or a silent server. A bad reply often points toward a shared-secret mismatch or a response that the router cannot validate.
4. Confirm that PPP is allowed to use RADIUS
Registering a server under /radius does not by itself enable remote authentication. Print PPP AAA:
/ppp aaa print
For remote PPP authentication, use-radius=yes must be enabled. For usage records, accounting=yes must be enabled as well. An interim update such as 5m is a practical starting point, but choose an interval that your RADIUS and billing systems can handle.
Remember the local database rule: RouterOS checks a matching local PPP secret first. A local test account can therefore succeed while the RADIUS path is never exercised. Test with a username that does not exist locally when you need to prove remote authentication.
5. Check the RADIUS server’s NAS/client definition
The RADIUS server must have a client definition for the router’s actual source IP. Check these values on the server side:
- Client/NAS address: the source IP seen by the RADIUS server, not necessarily the router’s management address.
- Shared secret: must match exactly, including case and hidden whitespace.
- Authentication port: normally UDP 1812.
- Accounting port: normally UDP 1813.
- Service: the RouterOS entry must include PPP for PPPoE.
- Policy: the user must be allowed to authenticate through PPP/PPPoE.
Do not change the secret on both systems at once without a controlled test. Change one side, test one account, and check the server log before moving to the next variable.
6. Read the logs while performing one test login
Open a dedicated log view, start one connection attempt, and stop the view after the attempt. RouterOS supports topic-based logging, including radius, ppp, and pppoe.
/log print follow where topics~"radius|ppp|pppoe"
Interpret the result as a decision tree:
| Observation | Likely layer | Next check |
|---|---|---|
| No PPPoE activity | Layer 2, VLAN, interface, or service name | PPPoE server interface and client discovery |
| PPPoE session starts, no RADIUS request | PPP AAA or local-secret selection | /ppp aaa print and test username |
| RADIUS timeout | Route, UDP firewall, address, VRF, or server down | Ping, route check, counters, server packet capture/log |
| RADIUS reject | Credentials or server policy | Read the RADIUS server’s reject reason |
| Bad reply | Shared secret or reply validation | Compare the secret and source client definition |
| Authentication succeeds, usage is empty | Accounting path | UDP 1813, accounting=yes, interim updates, server accounting log |
7. Check firewall counters without opening the router
First print filter counters and rule order:
/ip firewall filter print stats
Look for a drop rule that matches traffic between the router and the RADIUS server, or a rule that drops input traffic if the RADIUS server is on the router itself. If you add a temporary allow rule for testing, place it narrowly, document it, and remove it after the test. Do not disable the whole firewall as a troubleshooting shortcut.
For a RADIUS server behind a tunnel or NAT, also confirm that return traffic follows the same path. A one-way UDP path can look exactly like a dead RADIUS server.
8. Verify accounting separately from authentication
Authentication and accounting are different conversations. A successful login proves that an Access-Accept was accepted; it does not prove that Accounting-Start, Interim-Update, and Accounting-Stop records are reaching the billing system.
After one test session is connected, inspect active PPP sessions:
/ppp active print detail
Then confirm the server receives accounting records on UDP 1813 and that the session ID and byte counters are changing. If authentication works but accounting does not, do not rotate the user password; inspect the accounting port, firewall path, server listener, and /ppp aaa settings instead.
9. A repeatable test matrix
| Test | Expected result | What it proves |
|---|---|---|
| PPPoE discovery | Client sees the access concentrator | Layer 2 and PPPoE server are reachable |
| Router ping to RADIUS | Replies from the server | Basic IP route exists |
| Unknown test user | One RADIUS request appears | Router is not silently using a local secret |
| Valid user | Access-Accept and a PPP session | Authentication and authorization work |
| Accounting check | Start, interim, and stop records | Usage data path works |
| Router reboot or server outage drill | Known failure and recovery behavior | Operations team has a documented fallback |
Fastest diagnosis: if /radius monitor shows no requests, stay on RouterOS configuration and local-secret selection. If requests time out, stay on routing/firewall/server reachability. If the server logs a reject, stop changing the network and fix the user policy. If the server logs an accept but the router reports a bad reply, compare the shared secret and source client address.
Sources and version notes
This checklist follows MikroTik's official RADIUS, PPP AAA, PPPoE, and logging documentation. RouterOS menus and defaults can change between releases, so confirm the exact syntax on the target version before production use. RADIUS authentication is described in RFC 2865, and accounting in RFC 2866.
Need a clean baseline?
Generate the RouterOS-side PPPoE and RADIUS configuration, then use this checklist to verify each layer before deployment.
Open the PPPoE + RADIUS generator →