Quick Start
Get AthenaBNG running in 10 minutes with a minimal configuration.
5-Minute Setup
1. Install
git clone https://gitlab.athenanetworks.com.au/athenanetworks/athena-bng.git
cd athena-bng
make install-all
2. Configure
# Copy base config
sudo cp config/AthenaBNG.yaml.base /opt/athena-bng/etc/running-config.yaml
# Edit with your interface names and IPs
sudo nano /opt/athena-bng/etc/running-config.yaml
Minimum edits:
system:
hostname: "AthenaBNG-01"
router_id: "10.255.0.1"
interfaces:
management: "eth0" # Your management interface
subscriber_trunk: "eth1" # Your subscriber trunk
upstream: "eth2" # Your upstream interface
3. Start
sudo systemctl start AthenaBNG.target
sudo systemctl status AthenaBNG.target
4. Verify
/opt/athena-bng/bin/abng -c "show version"
/opt/athena-bng/bin/abng -c "show system"
Enable PPPoE (10 More Minutes)
1. Enter CLI
/opt/athena-bng/bin/abng
2. Configure PPPoE
abng> configure
abng# set demux enabled true
abng# set demux profiles[0] name "residential"
abng# set demux profiles[0] trunk_interface "eth1"
abng# set demux profiles[0] outer_vlans [111]
abng# set demux profiles[0] stag_range "100-999"
abng# set demux profiles[0] ctag_range "1-4094"
abng# set demux profiles[0] services ["pppoe"]
abng# set pppoe enabled true
abng# set pppoe ac_name "AthenaBNG"
abng# set radius servers[0] host "10.255.0.10"
abng# set radius servers[0] secret "your-radius-secret"
abng# set radius nas_identifier "AthenaBNG"
abng# show | compare
abng# commit
abng# exit
3. Verify
/opt/athena-bng/bin/abng -c "show subscribers"
/opt/athena-bng/bin/abng -c "show vlans"
Enable QoS (5 More Minutes)
abng> configure
abng# set qos enabled true
abng# set qos default_down "100mbit"
abng# set qos default_up "40mbit"
abng# set qos default_overhead_profile "pppoe_ethernet"
abng# commit
abng# exit
Verify:
/opt/athena-bng/bin/abng -c "show qos"
Enable DHCP/IPoE (Optional)
abng> configure
abng# set dhcp enabled true
abng# set dhcp lease_time 3600
abng# set dhcp allocation_mode "radius"
abng# set dhcp pools[0] network "10.100.0.0/23"
abng# set dhcp pools[0] gateway "10.100.0.1"
abng# set dhcp pools[0] dns_servers ["1.1.1.1", "8.8.8.8"]
abng# commit
abng# exit
Monitor Sessions
# View all sessions
/opt/athena-bng/bin/abng -c "show subscribers"
# View session summary
/opt/athena-bng/bin/abng -c "show subscribers summary"
# Monitor in real-time
/opt/athena-bng/bin/abng
abng> monitor subscribers
Common Commands
| Command | Purpose |
|---|---|
show subscribers | List active sessions |
show interfaces | Show network interfaces |
show vlans | Show dynamic VLAN interfaces |
show qos | Show QoS status |
show system | Show system info |
show configuration | Show running config |
request subscriber disconnect <id> | Disconnect a session |
Troubleshooting
No sessions appearing
- Check demux is enabled:
show configuration | match demux - Check VLAN interfaces are created:
show vlans - Check logs:
sudo journalctl -u abng-demux -f
Sessions not getting IP
- Check RADIUS is reachable:
radtest testuser testpass <radius-ip> 1812 <secret> - Check DHCP is enabled:
show configuration | match dhcp - Check logs:
sudo journalctl -u abng-dhcpd -f
QoS not applying
- Check QoS is enabled:
show configuration | match qos - Check CAKE is available:
tc qdisc show - Check logs:
sudo journalctl -u abng-qos -f
Next Steps
- Configuration — All configuration options
- CLI Reference — Complete CLI command reference
- Features — Deep dives into each feature
- Architecture — System design