Skip to content
Skip to content

Install the appliance and create the first administrator#

This guide takes a Debian 13 (Trixie) host from a fresh netavo-bng install to a box with an administrator account and a data plane that starts.

You need: root on the host, and the netavo-bng .deb.

1. Install#

apt install ./netavo-bng_*.deb

Installing changes nothing on the network. The package writes an inert configuration to /etc/netavo-bng/config.json — it sets dataPlane.mode to mock and nothing else:

  • no management section, so the management NIC is not moved into a VRF;
  • no data-plane interfaces, so no NIC is bound to DPDK and no hugepages are reserved;
  • no routing section, so /etc/frr/frr.conf is not rewritten;
  • no credentials and no login users.

Until dataPlane.mode is dpdk or xdp, bng-dataplane-setup, bng-dataplane and bng-controlplane are skipped at every boot — not failed, and not restarted. The unit's journal (journalctl -u bng-controlplane) says that the box is not configured yet and what to set.

The full example configuration, with every section, is /usr/share/doc/netavo-bng/config.example.json. Copy sections from it; do not copy it whole — its addresses, PCI ids and interface names are placeholders.

An upgrade never touches /etc/netavo-bng/config.json: it is your file, not the package's.

2. Create the first administrator#

The appliance has no default account and no default password. Create a super-user before you start the control plane:

/opt/netavo-bng/controlplane/Bng.ControlPlane --config /etc/netavo-bng/config.json --add-operator netadmin

It prompts twice for the password, without echo; a password needs at least 8 characters. Never put a password on the command line. For automation, the two lines can be piped on stdin.

The account is written to login.users as a PBKDF2 hash through the ordinary configuration store, so it is validated and appears in the rollback history like any other commit. Running the command again for the same name sets a new password.

--add-operator refuses while the control plane is running, because the running control plane would overwrite the change at its next commit, and while a commit confirmed is waiting to be confirmed, because its rollback would remove the account again. On a running box, make the hash and add the account from the CLI:

/opt/netavo-bng/controlplane/Bng.ControlPlane --hash-password
set system login user netadmin class super-user
set system login user netadmin authentication encrypted-password '<hash>'
commit

3. Configure and start#

Edit /etc/netavo-bng/config.json:

  1. Set dataPlane.mode to dpdk or xdp and list the subscriber and network interfaces. Do not list the NIC you manage the box through — preflight refuses to bind it, but check anyway.
  2. Add the subscriber source (auth) and accounting.
  3. Add management only once its interface and gateway are right for this host: at the next boot that interface is moved into the management VRF.
  4. Add routing when you are ready for the appliance to manage FRR.

Then start the services:

systemctl start bng-dataplane bng-controlplane

Verify#

systemctl status bng-dataplane bng-controlplane

Both are active (running). If one was skipped by its start condition, dataPlane.mode is still mock. If bng-dataplane-setup failed, journalctl -u bng-dataplane-setup shows the preflight finding that stopped it before any NIC was touched.