How to deal with this ...
Guy Fraser
guy at incentre.net
Mon Sep 26 17:25:36 CEST 2005
On Fri, 2005-23-09 at 15:01 -0300, Ezequiel O. Block wrote:
> Guy Fraser wrote:
> > On Fri, 2005-23-09 at 11:55 -0300, Ezequiel O. Block wrote:
> >> Hi Guys,
> >>
> >> Using Freeradius for authorization, accounting and ip pools management.
> >>
> >> By mistake i turned off my NAS, and when this NAS came back online then
> >> freeradius began rejecting my users as if they were still connected,
> >> should my NAS send some kind of "Accounting restart let's start again"
> >> packet to Freeradius in order to let him know that those users are no
> >> longer connected? am i right? if not how can i deal with this kind of
> >> problems? apart from not being so stupid again to turn off a nas by
> >> mistake ....
> >>
> > Yes your NAS probably should, but many vendors do not include
> > support for Accounting on and Accounting off.
>
> I'm using MPD on FreeBSD as PPPoe AC, I'm going to ask on their mailing
> list to see if it does support accounting on/off.
>
> >
> > If your NAS does not support Accounting On/Off there is little
> > you can do. If your NAS supports remote syslog, you could
> > monitor the log and watch for something that occurs at startup
> > or shutdown. You could also set up up some kind of "heart beat"
> > monitor that checks to see if the NAS shuts down. You can use
> > these to close the open accounts on the affected NAS. You will
> > need to be careful how you account for the interuption in your
> > billing system because you will not have any accurate accounting
> > information or stop time. In the past when we have had NAS
> > failures we did not bill for the session that failed, but to
> > limit our exposure we set a 100 hour maximum session time, that
> > way users have to connect at least 7 times per month so we don't
> > loose a complete billing cycle.
>
> Thanks a lot for the tip, I just switched back to plain text validation
> over the NAS itself, to recover from this situation I'm just about to
>
> 1. DELETE FROM radacct WHERE AcctStopTime is NULL and NASIPAddress =
> 'a.b.c.d';
Rather than delete the record, maybe set AcctStopTime = AcctStartTime,
AcctSessionTime = 0 and the Termination cause = NAS-Shutdown or
something like that.
I don't have access to a FreeRadius machine this morning, but if I
remember correctly there is an SQL query defined for Accounting
On/Off handling.
I don't delete any records from the database and if I update a
record I set the Termination Cause to indicate why the record was
updated manually.
>
> 2. Restart freeRadius to clean up those ips no longer in use?
I have never used IP pools on a radius server, so I don't know the
best way to flush the unused IPs.
>
> 3. did I forget something?
> >
If you are using session/unix files {radutmp and radwtmp} you may
need to use radzap to clear the entries from them.
More information about the Freeradius-Users
mailing list