Skip to main content

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, Australia
  • Australia/Sydney — Sydney, Australia
  • Australia/Melbourne — Melbourne, Australia
  • UTC — Coordinated Universal Time
  • Europe/London — London, UK
  • US/Eastern — Eastern Time, USA
  • US/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"

LevelDescription
debugDetailed debugging information
infoInformational messages
warnWarning messages
errorError 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"

FormatDescription
textHuman-readable text format
jsonStructured 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

FieldValidation
hostname1-255 characters, alphanumeric and hyphens
router_idValid IPv4 address
timezoneValid IANA timezone
log_levelOne of: debug, info, warn, error
log_formatOne of: text, json
ntp_serversList of valid hostnames/IPs
dns_serversList of valid IPv4 addresses

Best Practices

  1. Hostname — Use a descriptive name (e.g., "AthenaBNG-01", "BNG-Brisbane")
  2. Router ID — Use a loopback IP or management IP
  3. Timezone — Set to your local timezone for log readability
  4. Log Level — Use "info" for production, "debug" for troubleshooting
  5. Log Format — Use "json" for log aggregation systems
  6. NTP — Configure for accurate timestamps
  7. 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