Installation, Deinstallation and Licensing

Installation, Deinstallation and Licensing #

RHEL-Style (RPM) #

Installation #

Using rpm #

BalanceNG on RHEL-type Linux distributions is installed with the rpm package manager as follows:

# rpm -i BalanceNG-6.030-RHEL9-1.x86_64.rpm
#

The chkconfig package is a required dependency, this package may not be present on your system (this is usually the case for systems based on RHEL8 or higher). If the rpm -i command complains, you will need to install chkconfig like this before re-executing rpm -i):

# dnf install chkconfig
...
#

Using dnf #

Alternatively you can install BalanceNG with dnf as follows:

# dnf install BalanceNG-6.030-RHEL9-1.x86_64.rpm
#

Package Update #

Using rpm #

# rpm -U BalanceNG-6.030-RHEL9-1.x86_64.rpm
...
#

Using dnf #

# dnf update BalanceNG-6.030-RHEL9-1.x86_64.rpm
...
#

Starting BalanceNG on Reboot #

For RHEL-type installations with rpm or dnf there’s no further action required, the startup scripts are in place meaning that all instances of bng will be started on reboot if there’s a configuration file present for that instance.

Package Information #

Using rpm #

For querying if BalanceNG is installed, and - if yes - showing exactly which release is installed execute the rpm command with the -q option as follows:

# rpm -q BalanceNG
BalanceNG-6.001-1.x86_64
#

Using dnf #

With dnf it looks like this:

# dnf list BalanceNG
...
#

Deinstallation #

Deinstallation of BalanceNG is straightforward (just specifying BalanceNG is sufficient for rpm and dnf):

rpm #

# rpm -e BalanceNG
...
#

dnf #

# dnf remove BalanceNG
...
#
Any existing configuration files like /etc/bng.conf will not be deleted by this rpm package removal. This allows to upgrade BalanceNG easily without touching the BalanceNG configuration files in any way.

Debian-Style (.deb) #

Installation #

Installation for Debian-type Linux distributions is done with the apt package manager like this:

# apt install ./BalanceNG-6.001-Debian12-amd64.deb
...

Starting BalanceNG on Reboot #

For Debian-type installations with apt there’s no further action, the startup scripts are in place meaning that all instances of bng will be started on reboot if there’s a configuration file present for that instance.

Package Information #

For querying if BalanceNG is installed, and - if yes - showing exactly which release is installed execute the dpkg command with the -l option (and pipe it into egrep) as follows:

# dpkg -l | egrep BalanceNG
ii  balanceng                     6.001                       amd64        BalanceNG - Inlab Networks Load Balancer
#

Deinstallation #

Deinstallation of BalanceNG is straightforward (just specifying BalanceNG is sufficient):

# dpkg -r BalanceNG
...
Any existing configuration files like /etc/bng.conf will not be deleted by this dpkg package removal. This allows to upgrade BalanceNG easily without touching the BalanceNG configuration files in any way.

Tarball #

For some special cases there’s also a .tar.gz distribution file available for each supported Linux distribution and macOS.

On macOS we recommend this method instead installing the .pkg package.

Installation #

Step 1: Extract the tar distribution file #

$ tar xvfz BalanceNG-6.004-macOS-x86_64.tar.gz
...

Step 2: Copy the bng binary to /usr/local/bin (or any other desired place) #

$ sudo cp ./BalanceNG-6.004-macOS-x86_64/bng /usr/local/bin
$

Starting BalanceNG Instance 0 on Reboot (Example) #

If you wish to start bng default instance 0 you can edit with crontab -e as super user (root) the crontab file and add a line as follows:

@reboot sleep 30; /usr/local/bin/bng start

The sleep 30 makes sure that the network configuration is set up and ready before BalanceNG starts. This is a convenient and simple way that always works and just an example. You may find other methods more suitable for your particular situation.

Binary Release Information #

$ sudo bng -r
6.004
$

Deinstallation #

Just remove the copied bng binary like this (if you have previously copied it there):

$ sudo rm /usr/local/bin/bng
$

If you have added a crontab entry for bng you may also need to revert it to the state before with crontab -e.

Licensing #

Choosing nodeid or vnodeid Licensing #

Licensing needs to be bound to the machine (“node”) in some way, either to the nodeid or the vnodeid. The differences and properties are as follows:

  • nodeid: This indentifies the (virtual or real) hardware of the machine. In a virtual environment the nodeid will be different for each copy ore clone of the guest.
  • vnodeid: This is derived from the /etc/machine-id file on Linux (on macOS it is identical to the HW MAC address of the en0 interface). In a virtual environment the vnodeid will be the same for each copy or clone of the guest.

Determining the nodeid #

The nodeid is shown by invoking bng -N, this may look like this:

# bng -N
2a:e2:2f:38:4a:20
#

Determining the vnodeid #

The vnodeid is shown by invoking bng -V, this may look like this:

# bng -V
c7:f9:dd:6d:a2:74
#

Licensing the default Instance #

The license key is obtained from the BalanceNG keyfactory service. A typical licensing dialog using the bng CLI may look as follows:

# bng start
BalanceNG: starting up ...
# bng ctl
BalanceNG: connected to PID 13653
bng# license betaB048 45f296fc9b387f7576b49d0ceab3f92e
bng# show license
  status: valid full license
  serial: betaB048
nodeid: 2a:e2:9f:38:da:20
  type "show version" for version and Copyright information
bng# save
  saved /etc/bng.conf
bng# 
Alternatively, you may just include the license <serial-no> <key> line at the top of the bng.conf file. This has the same effect.

Licensing of all Instances in /etc/bng.global #

BalanceNG may be started multiple times at the same time (as multiple instances). The nodeid and also the vnodeid is exactly the same for each instance. In order to license all instances on the machine just put the “license” instruction as explained above into the /etc/bng.global file.

This file is evaluated by each instance of BalanceNG right at the beginning, so it may also be used for any other global settings that are shared among all instances.

Example:

# cat > /etc/bng.global <<EOF
license betaB048 45f296fc9b387f7576b49d0ceab3f92e
EOF
# bng start 12
BalanceNG: starting up instance 12 ...
# bng ctl 12
BalanceNG: connected to instance 12 PID 13653
bng# show license
  status: valid full license
  serial: betaB048
nodeid: 2a:e2:9f:38:da:20
  type "show version" for version and Copyright information
bng#
Note that the licensing status is never degraded, so if /etc/bng.global licenses all instances, any weaker or even invalid license lines in instance specific configuration files are ignored.

Trial Licence #

BalanceNG comes with a 30 day full functionality trial license. The trial license restrictions for BalanceNG are as follows:

  • The trial license is valid for 30 days and within a 3 month window after day of build of the BalanceNG package (whichever expires first).
  • Instances need to be restarted after 7 days of continuous operation (e.g. by executing bng restart).