The best way I found, which will prevent duplicate user logins on two or more routers also, is to set “simultaneous-use=1” for that user in the radius server radcheck table.
EDIT: If the router is allowing more than one ‘connection’ per logged in user (like Windows internet connection sharing or a router using a masquerade), this won’t help. If it is allowing one user to login twice, it will help.
I know radius, but not that good at ppp. Maybe if you post how you know the same user is logged in twice, somebody else will see the challenge. I think that would be “/ppp active”.
You have to have the radius server check back to the MT and see if there really is a connection active, if so, disconnect it, then allow the new connection. Only one only works for local auth. Didnt realize that until later. Works great doing it this way with SSTP radius.
I don’t think it’s a bug - at least in my case - but it is a problem.
I initially used PPPoE from MT CPEs to MT AP running User-Manager, but found I was being plagued by duplicate open sessions - UM would report 50-odd active sessions for only a dozen users.
So I switched to L2TP and that seemed to work fine - the only active sessions every shown were genuine and the log would show that if a used tried to connect with a session open it would be closed before the new session initiated. As far as I remember the settings were all default, as usual.
Now I’m moving to PPTP and found that with the default settings clients were being disconnected because of inactivity - and immediately re-connected. So I changed the server time-out to 0 secs. (ie don’t time the connection out) but the problem now is that clients trying to connect are being rejected because there is already a session running in their name!
Once again I seem to be finding that RouterOS is burdened with so many bells and whistles that actually achieving harmony is extraordinarily difficult. One has the ‘only one’ setting which stops a client setting up a connection if one already exists, but then one needs a way of closing connections if the client has pulled the plug on his CPE, or the network dropped the connection breaking whatever the continuity is that maintains a PPP connection.
I assume ‘session timeout’ sets a maximum time limit on a session, which I don’t want. However that leaves ‘keep-alive’ timeout and ‘idle time-out’ which to me means the same thing - one of which you define in the profile for the connection and the other for the server itself. How do they interact?
Then you have the ability to set idle time-outs in both client and server profiles. Which takes priority?
Roadracer96’s note about getting the RADIUS server to check with the client is a connection is actually running seems good, and was presumably what was happening when I was using L2TP with tunnels being closed before new ones opened, but why UM was doing it then and not now (given that all I’ve changed is the type of PPP server and client!) I’ve no idea.