Hello Lisa -

At 10:49 +0100 18/12/00, Lisa Goulet wrote:
>Hi all,
>
>When I look in the RADONLINE table or use radwho.cgi I see only <=2 users.
>When I look in the trace 4 log file I see "start accounting" of many
>simultaneous users. I watched it over an hour or so and it's the same case.
>radwho.cgi(radonline) stop showing records even though many users still
>haven't received "stop accounting".
>
>In the trace file, I see the expected sequence of:
>
>- access-request -> delete from radonline
>- start accounting -> delete from and add to radonline
>- stop accounting -> delete from radonline
>
>I would appreciate any tips.
>Regards,
>Lisa
>
>Here's are config file and a part of the logfile:
>Config file:
>------------
>Client DEFAULT>
>         Secret  xxxxxxxxxx
>         DupInterval 0
>
>       # set attribute if dnis is a zon dnis
>         PreHandlerHook sub { \
>            my $dnis = ${$_[0]}->get_attr('Called-Station-Id');\
>            if (${dnis} =~ /107500300|113750030/{\
>                ${$_[0]}->add_attr('zon_dnis','true'); return; \
>             }\
>          }
></Client>
>
>
><ClientListSQL>
>         DBSource        dbi:Pg:dbname=radmin;host=xxx.xxx.xxx.xxx
>         DBUsername      radmin
>         DBAuth          radmin
></ClientListSQL>
>
><SessionDatabase SQL>
>         # This database spec usually should be exactly the same
>         # as in <AuthBy RADMIN> above
>         DBSource        dbi:Pg:dbname=radmin;host=xxx.xxx.xxx.xxx
>         DBUsername      radmin
>         DBAuth          radmin
>
>         AddQuery  insert into RADONLINE (USERNAME, NASIDENTIFIER, NASPORT,
>ACCTSESSIONID, TIME_STAMP, DNIS) \
>                 values ('%n', '%N', 0, '%{Acct-Session-Id}', %{Timestamp},
>'%{Called-Station-Id}')
></SessionDatabase>
>
><AuthBy PORTLIMITCHECK>
>         Identifier      PortLimitCheckZon
>         SessionLimit 20
>         LimitQuery select maxports from portlimits \
>              where DNIS='zon_dnis'
>         CountQuery select COUNT(*) from RADONLINE \
>              where DNIS='107500300' or DNIS='113750030'
></AuthBy>
>
><AuthBy RADIUS>
>       Identifier LocalCheck
>         Host yyy.yyy.yyy.yyy
>         Secret  yyyyyyy
>         CachePasswords
>         CachePasswordExpiry
></AuthBy>
>
><AuthBy RADIUS>
>         Identifier zonnetproxy
>         Host  zzz.zzz.zzz.zzz
>         Secret zzzzzzzz
></AuthBy>
>
><Handler zon_dnis="true">
>         AuthByPolicy ContinueWhileAccept
>         AuthBy PortLimitCheckZon
>       AuthBy zonnetproxy
></Handler>
>
><Handler>
>         AuthByPolicy ContinueWhileAccept
>         AuthBy LocalCheck
></Handler>
>------------------------------------------------------
>trace 4:
>*** Received from 213.35.248.143 port 1645 ....
>Code:       Access-Request
>Identifier: 203
>Authentic:  <217><227><228><6>Q<135>(4<175><197><236><166><152><194><239>W
>Attributes:
>       NAS-IP-Address = 213.35.248.143
>       Cisco-NAS-Port = "Async1/9/50*Serial1/1/11:2"
>       NAS-Port-Type = Async
>       User-Name = "mw_bakker"
>       Called-Station-Id = "207500300"
>       Calling-Station-Id = "299462099"
>       User-Password =
>"<207><252>M<179><193>U.<3><212><149><160><<203>T<139>7"
>       Service-Type = Framed-User
>       Framed-Protocol = PPP
>
>Mon Dec 18 08:32:13 2000: DEBUG: Check if Handler zon_dnis="true" should be
>used to handle this request
>Mon Dec 18 08:32:13 2000: DEBUG: Handling request with Handler
>'zon_dnis="true"'
>Mon Dec 18 08:32:13 2000: DEBUG:  Deleting session for mw_bakker,
>213.35.248.143,
>Mon Dec 18 08:32:13 2000: DEBUG: do query is: delete from RADONLINE where
>NASIDENTIFIER='213.35.248.143' and NASPORT=0
>
>Mon Dec 18 08:32:13 2000: DEBUG: Handling with PORTLIMITCHECK
>Mon Dec 18 08:32:13 2000: DEBUG: Query is: select COUNT(*) from RADONLINE
>where DNIS='107500300' or DNIS='113750030'
>Mon Dec 18 08:32:13 2000: DEBUG: PORTLIMITCHECK got a current session count
>of 0
>Mon Dec 18 08:32:13 2000: DEBUG: Query is: select maxports from portlimits
>where DNIS='zon_dnis'
>
>Mon Dec 18 08:32:13 2000: DEBUG: PORTLIMITCHECK got a limit of 20000
>Mon Dec 18 08:32:13 2000: DEBUG: Handling with Radius::AuthRADIUS
>Mon Dec 18 08:32:13 2000: DEBUG: Packet dump:
>*** Sending to zzz.zzz.zzz.zzz port 1645 ....
>Code:       Access-Request
>Identifier: 5
>Authentic:  <217><227><228><6>Q<135>(4<175><197><236><166><152><194><239>W
>Attributes:
>       NAS-IP-Address = 213.35.248.143
>       Cisco-NAS-Port = "Async1/9/50*Serial1/1/11:2"
>       NAS-Port-Type = Async
>       User-Name = "mw_bakker"
>       Called-Station-Id = "207500300"
>       Calling-Station-Id = "299462099"
>       User-Password =
>"V<134><169><15>K<246><177>V<176>$<218><177><18><245><240><142>"
>       Service-Type = Framed-User
>       Framed-Protocol = PPP
>       zon_dnis = "true"
>

A quick look at the trace shows that RADONLINE is using the attribute 
"NASPORT" which I am guessing is always 0, because the radius 
requests contain "Cisco-NAS-Port" instead (which is a string). I 
would conclude that there are only two users shown because there are 
two NAS's, and all the reqests for each one use "NAS-Port = 0".

I seem to remember this topic being discussed on the list some time ago.

hth

Hugh

-- 

NB: I am travelling this week, so there may be delays in our correspondence.

Radiator: the most portable, flexible and configurable RADIUS server
anywhere. SQL, proxy, DBM, files, LDAP, NIS+, password, NT, Emerald,
Platypus, Freeside, Interbiller, TACACS+, PAM, external, etc, etc.
Available on Unix, Linux, FreeBSD, Windows 95/98/2000, NT, MacOS X.

===
Archive at http://www.starport.net/~radiator/
Announcements on [EMAIL PROTECTED]
To unsubscribe, email '[EMAIL PROTECTED]' with
'unsubscribe radiator' in the body of the message.

Reply via email to