Skip to main content

RADIUS AAA

Full RADIUS Authentication, Authorization, and Accounting — the backbone of subscriber management.

Overview

AthenaBNG implements comprehensive RADIUS support for both PPPoE and IPoE sessions. Every subscriber interaction — from initial authentication through to final disconnect — is tracked and reported via standard RADIUS protocols.

Authentication (RFC 2865)

PPPoE Sessions

PPPoE subscribers authenticate via PAP or CHAP during PPP negotiation:

AttributeValue
User-NameSubscriber username
User-Password / CHAP-PasswordSubscriber credentials
Calling-Station-IdSubscriber MAC address
NAS-Port-IdVLAN interface name
NAS-IdentifierBNG hostname
NAS-IP-AddressBNG management IP
Service-TypeFramed

IPoE/DHCP Sessions

IPoE subscribers are authenticated by MAC address:

AttributeValue
User-NameMAC address (aa:bb:cc:dd:ee:ff)
Calling-Station-IdMAC address
NAS-Port-IdVLAN interface name (Circuit ID)
NAS-IdentifierBNG hostname
Service-TypeFramed

Authorization

RADIUS Access-Accept controls session parameters:

AttributePurpose
Framed-IP-AddressSubscriber IP address
Framed-IP-NetmaskSubnet mask (usually /32)
Session-TimeoutMaximum session duration
Idle-TimeoutIdle disconnect timer
Athena-Rate-DownDownload rate in bps
Athena-Rate-UpUpload rate in bps
Athena-Overhead-ProfileQoS overhead compensation profile

Vendor-Specific Attributes (VSAs)

AthenaBNG defines vendor-specific attributes under the Athena Networks enterprise number:

VENDOR  Athena  12345

ATTRIBUTE Athena-Rate-Down 1 integer
ATTRIBUTE Athena-Rate-Up 2 integer
ATTRIBUTE Athena-Overhead-Profile 3 string

Accounting (RFC 2866)

Full session accounting with real traffic counters:

Accounting Events

EventAcct-Status-TypeTrigger
Session startStartPPP IPCP complete / DHCP ACK
Periodic updateInterim-UpdateConfigurable interval (default 5 min)
Subscriber disconnectStopPADT / DHCP Release
Lease expiryStopDHCP lease timeout
Admin disconnectStopCoA Disconnect / CLI
BNG shutdownStopGraceful SIGTERM

Traffic Counters

Accounting packets include real interface statistics from the Linux kernel:

AttributeDescription
Acct-Input-OctetsBytes received (lower 32 bits)
Acct-Output-OctetsBytes sent (lower 32 bits)
Acct-Input-GigawordsBytes received (upper 32 bits, for >4 GiB)
Acct-Output-GigawordsBytes sent (upper 32 bits, for >4 GiB)
Acct-Input-PacketsPackets received
Acct-Output-PacketsPackets sent
Acct-Session-TimeSession duration in seconds

Terminate Causes

Acct-Terminate-CauseWhen
User-RequestSubscriber initiated disconnect
Session-TimeoutLease or session timeout
Admin-ResetCLI or API disconnect
NAS-RebootBNG graceful shutdown

Change of Authorization (RFC 5176)

Real-time policy changes without disconnecting the subscriber:

Rate Changes

Update subscriber speeds mid-session:

echo "Acct-Session-Id=abng-1234-5, Athena-Rate-Down=100000000, Athena-Rate-Up=40000000" | \
radclient -x <bng-ip>:3799 coa <secret>

The subscriber's QoS is updated in milliseconds — no packet loss, no session interruption.

Disconnect Messages

Administratively terminate a session:

echo "Acct-Session-Id=abng-1234-5" | \
radclient -x <bng-ip>:3799 disconnect <secret>

RADIUS Server Compatibility

AthenaBNG works with any RFC-compliant RADIUS server:

  • FreeRADIUS — We provide example configuration files
  • Radiator — Widely used in Australian ISPs
  • ClearBox — Windows-based RADIUS
  • Any RFC 2865/2866/5176 server

Configuration

radius:
servers:
- address: "10.0.0.10"
auth_port: 1812
acct_port: 1813
secret: "your-radius-secret"
coa_enabled: true
coa_port: 3799
acct_interim_interval: 300
nas_identifier: "AthenaBNG"