Skip to main content

Getting Started Overview

This section covers installation, initial configuration, and basic operation of AthenaBNG.

What You'll Learn

  1. Installation — Build from source, install via Debian package, or use Ansible
  2. Quick Start — Get a minimal system running in minutes
  3. Architecture — Understand the system design and component interactions
  4. Basic Configuration — Enable services and configure core settings

Prerequisites

Before you begin, ensure you have:

  • Debian 13 (Trixie) system with Linux 6.x kernel
  • Root or sudo access for installation and service management
  • Network interfaces for management, subscriber trunk, and upstream
  • Rust 1.82+ (if building from source)
  • Python 3.12+ (for REST API and SNMP)

Installation Methods

AthenaBNG can be installed in three ways:

git clone https://gitlab.athenanetworks.com.au/athenanetworks/athena-bng.git
cd athena-bng
make install-all

Pros: Full control, latest code, development-friendly Cons: Requires Rust toolchain, longer build time

make deb
dpkg -i ../athenabng_0.1.0_amd64.deb

Pros: Standard package management, clean installation Cons: Requires building on a compatible system

cd ansible
cp inventory.ini.example inventory.ini
# Edit inventory.ini with your hosts
ansible-playbook -i inventory.ini playbook.yml

Pros: Automated, idempotent, multi-host support Cons: Requires Ansible

Directory Structure

After installation, AthenaBNG uses this layout:

/opt/athena-bng/
├── bin/ # Compiled binaries
│ ├── abngd # Core daemon
│ ├── abng-demux # VLAN demux daemon
│ ├── abng-dhcpd # DHCP server
│ ├── abng-qos # QoS orchestrator
│ ├── abng # CLI
│ └── ...
├── etc/ # Configuration
│ ├── running-config.yaml # Active configuration
│ ├── candidate-config.yaml # Staged changes
│ └── config-archive/ # Rollback history
├── run/ # Runtime files
│ ├── abngd.sock # IPC socket
│ └── ...
├── log/ # Log files
│ ├── abngd.log
│ ├── abng-demux.log
│ └── ...
├── lib/ # Libraries and data
└── var/ # Variable data (sessions DB, etc.)

Service Management

All services are managed via systemd:

# Start all services
systemctl start AthenaBNG.target

# Check status
systemctl status AthenaBNG.target

# View logs
journalctl -u abngd -f
journalctl -u abng-demux -f

Next Steps

  1. Installation — Detailed installation instructions
  2. Quick Start — Get a minimal system running
  3. Architecture — Understand the system design
  4. Configuration — Configure services