IPv6 accounting RADIUS SQL schema?
    Alan DeKok 
    aland at deployingradius.com
       
    Sun Aug 19 23:53:09 CEST 2018
    
    
  
On Aug 19, 2018, at 3:56 PM, WAGHORN, Jason (NHS BORDERS) via Freeradius-Users <freeradius-users at lists.freeradius.org> wrote:
>>> i.e. have FreeRADIUS handle DHCP, too.  On initial request, it can check the MAC address in
>>> radacct for the username who last logged in.  Then, check their billing history.  If their
>>> account is in arrears, give them an IP from a walled garden.
> 
> How will this work (either way) if the client supports MAC spoofing?
  All clients support MAC spoofing.  But you don't really care what the MAC is.
> Surely you should prevent access via username, not client MAC (they could also just use another client, or W-NIC,...)
  I *did* mention RADIUS first, then DHCP.  That gets you a User-Name.
  Let me be clear, seeing as my point didn't get across:
  RADIUS gets you User-Name, MAC address, NAS IP, and NAS port.  You can authenticate the user (PAP, CHAP, MS-CHAP, EAP), and store the MAC, NAS IP and NAS port in the radacct table.
  And yes, you don't really care what the MAC is.  Because you authenticate the user by name && password.
  When you get a DHCP request, you get MAC, NAS IP, and NAS port.
  Hmm... it seems like we have already seen that information!  What happens next?
a) the MAC , NAS IP, and NAS port match something in radacct.  You can now look up the User-Name, and assign IPs based on user groups.  Or, check the users billing status, and assign an IP from the "walled garden" pool, with the walled garden router / captive portal.
b) the MAC, NAS, IP, and NAS port *don't* match something in radacct.  You can use this mismatch as definitive proof the user is doing something stupid.  And... (drum roll) put them into a walled garden.
  There are no other possibilities.
  If the user behaves correctly, everything works and they get online.  If the user misbehaves, they don't get online.
  > Seems to me like a game of whack-a-mole :)
  I don't see how.  What part of the above won't work?
  Hint: I've done this in production systems.
  Alan DeKok.
    
    
More information about the Freeradius-Users
mailing list