System Configuration
Configure system identity, logging, and global settings.
Overview
The system section defines:
- System identity (hostname, router ID)
- Logging configuration
- Time synchronization
- DNS settings
Configuration Options
hostname
System hostname (required).
system:
hostname: "AthenaBNG-01"
Type: String
Required: Yes
Default: None
Constraints: 1-255 characters, alphanumeric and hyphens
CLI:
abng# set system hostname "AthenaBNG-01"
router_id
Router ID for BGP and OSPF (required).
system:
router_id: "10.255.0.1"
Type: IPv4 address
Required: Yes
Default: None
Constraints: Valid IPv4 address (typically loopback IP)
CLI:
abng# set system router_id "10.255.0.1"
timezone
System timezone (optional).
system:
timezone: "Australia/Brisbane"
Type: String
Required: No
Default: UTC
Valid values: IANA timezone database (e.g., "Australia/Brisbane", "Europe/London", "US/Eastern")
CLI:
abng# set system timezone "Australia/Brisbane"
Common timezones:
Australia/Brisbane— Brisbane, AustraliaAustralia/Sydney— Sydney, AustraliaAustralia/Melbourne— Melbourne, AustraliaUTC— Coordinated Universal TimeEurope/London— London, UKUS/Eastern— Eastern Time, USAUS/Pacific— Pacific Time, USA
log_level
Logging level (optional).
system:
log_level: "info"
Type: String
Required: No
Default: "info"
Valid values: "debug", "info", "warn", "error"
| Level | Description |
|---|---|
debug | Detailed debugging information |
info | Informational messages |
warn | Warning messages |
error | Error messages only |
CLI:
abng# set system log_level "debug"
log_format
Log output format (optional).
system:
log_format: "json"
Type: String
Required: No
Default: "text"
Valid values: "text", "json"
| Format | Description |
|---|---|
text | Human-readable text format |
json | Structured JSON format (for log aggregation) |
CLI:
abng# set system log_format "json"
ntp_servers
NTP servers for time synchronization (optional).
system:
ntp_servers:
- "ntp.ubuntu.com"
- "pool.ntp.org"
Type: List of strings
Required: No
Default: Empty (uses system default)
Constraints: Valid hostnames or IP addresses
CLI:
abng# set system ntp_servers ["ntp.ubuntu.com", "pool.ntp.org"]
dns_servers
DNS servers for name resolution (optional).
system:
dns_servers:
- "1.1.1.1"
- "8.8.8.8"
Type: List of IPv4 addresses
Required: No
Default: Empty (uses system default)
Constraints: Valid IPv4 addresses
CLI:
abng# set system dns_servers ["1.1.1.1", "8.8.8.8"]
Example Configuration
Minimal System Configuration
system:
hostname: "AthenaBNG-01"
router_id: "10.255.0.1"
Full System Configuration
system:
hostname: "AthenaBNG-01"
router_id: "10.255.0.1"
timezone: "Australia/Brisbane"
log_level: "info"
log_format: "json"
ntp_servers:
- "ntp.ubuntu.com"
- "pool.ntp.org"
dns_servers:
- "1.1.1.1"
- "8.8.8.8"
Configuration via CLI
Set Hostname
abng> configure
abng# set system hostname "AthenaBNG-01"
abng# commit
Set Router ID
abng# set system router_id "10.255.0.1"
abng# commit
Set Timezone
abng# set system timezone "Australia/Brisbane"
abng# commit
Set Logging Level
abng# set system log_level "debug"
abng# commit
Set NTP Servers
abng# set system ntp_servers ["ntp.ubuntu.com", "pool.ntp.org"]
abng# commit
Set DNS Servers
abng# set system dns_servers ["1.1.1.1", "8.8.8.8"]
abng# commit
Verification
View System Configuration
abng> show system
Product: AthenaBNG
Version: 0.1.0
Hostname: AthenaBNG-01
Router ID: 10.255.0.1
Timezone: Australia/Brisbane
Log Level: info
Uptime: 14d 3h 22m
Active Sessions: 1,247
View Configuration
abng> show configuration | match "^system:"
system:
hostname: AthenaBNG-01
router_id: 10.255.0.1
timezone: Australia/Brisbane
log_level: info
log_format: json
ntp_servers:
- ntp.ubuntu.com
- pool.ntp.org
dns_servers:
- 1.1.1.1
- 8.8.8.8
Validation Rules
| Field | Validation |
|---|---|
hostname | 1-255 characters, alphanumeric and hyphens |
router_id | Valid IPv4 address |
timezone | Valid IANA timezone |
log_level | One of: debug, info, warn, error |
log_format | One of: text, json |
ntp_servers | List of valid hostnames/IPs |
dns_servers | List of valid IPv4 addresses |
Best Practices
- Hostname — Use a descriptive name (e.g., "AthenaBNG-01", "BNG-Brisbane")
- Router ID — Use a loopback IP or management IP
- Timezone — Set to your local timezone for log readability
- Log Level — Use "info" for production, "debug" for troubleshooting
- Log Format — Use "json" for log aggregation systems
- NTP — Configure for accurate timestamps
- DNS — Configure for hostname resolution
Troubleshooting
Invalid Router ID
Validation error: invalid IP address: "not-an-ip"
Solution: Use a valid IPv4 address (e.g., "10.255.0.1")
Invalid Timezone
Validation error: invalid timezone: "Australia/InvalidCity"
Solution: Use a valid IANA timezone (e.g., "Australia/Brisbane")
Invalid Log Level
Validation error: invalid log level: "verbose"
Solution: Use one of: debug, info, warn, error
Next Steps
- Interfaces Configuration — Interface role mapping
- VLAN Demux Configuration — Dynamic VLAN creation
- Configuration Overview — All configuration sections