SMRadius

Current project: https://wiki.smradius.org/

High performance feature rich radius server.

  • Database independent design: MySQL, PostgreSQL, Oracle, SQLite3
  • Replicated database support
  • Custom database queries allowing usage of returned results as macros
  • mod_auth_pap: PAP (RFC1334)
  • mod_auth_chap: CHAP (RFC1944)
  • mod_auth_mschap: MSCHAPv1 & MSCHAPv2, incl. MPPE (RFC2443, RFC2759, RFC2548, RFC3079)
  • Vendor specific attributes (RFC2865, RFC2866)
  • Supported attribute operators include =, :=, ==, +=, !=, >, >=, <, ⇐, =~, !~, =*, !*
  • Extended Radius Practices:
    • Packet of disconnect (RFC2882)
    • CoA (RFC3576)
  • Service provider control panel, including WiSP customizations
  • Client control panel for viewing usage and plan details
  • Data & time based capping
  • Prepaid users
  • Topups
  • Account validity periods, including valid start and end dates
  • Prepaid accounting based on usage/time
  • Creation of accounting START records when no START record has been received but an interim update has - helps on slow/lossly links
  • Bandwidth multipliers that can be added to radius clients, user groups or users
  • Auto-Topups with customizable notification templates per client, realm, user group or user
  • Plugin: Notifications, % based or approximate time based
  • Radius proxy - with filtering of requests/values … etc in both directions + adding items. Persistent storing of radius items so inbound from client NAS is stored and sent back with accounting packet.
  • Port 1700 proxy back to NAS
  • Plugin: User denylists
  • Plugin: Grouping of users and usage caps
  • Radius proxy - enhancement: round-robin & random proxy destination tries, easy backoff
  • Backstore logs for if proxy destinations go down
  • Redis support
  • Database load balancing
  • IP Pools (in database)
  • Python
  • Flask
  • Possibly C network event engine
  • Reverse engineer what we currently have in Perl and create something more flexible
  • projects/smradius/start.txt
  • Last modified: 2020-08-12 03:03
  • by nkukard