OpenBSD#
OpenBSD is identified with openbsd
kind in the topology file. It is built using vrnetlab project and essentially is a Qemu VM packaged in a docker container format.
Getting OpenBSD image#
To build OpenBSD docker container image you will need to download a custom-built qcow2
VM image with pre-installed cloud-init from https://bsd-cloud-image.org/.
If, for some reason, you're unable to obtain an image from https://bsd-cloud-image.org/, you can build it yourself with the script from this repository.
Managing OpenBSD nodes#
Note
Containers with OpenBSD inside will take ~1-2 min to fully boot.
You can monitor the progress with docker logs -f <container-name>
.
OpenBSD node launched with containerlab can be managed via the following interfaces:
Info
Default user credentials: admin:admin
Interfaces mapping#
eth0
- management interface (vio0) connected to the containerlab management networketh1+
- second and subsequent data interfaces (vio1, vio2, etc.)
When containerlab launches OpenBSD node, it will assign IPv4/6 address to the eth0
interface. These addresses are used to reach the management plane of the router.
Data interfaces eth1+
need to be configured with IP addressing manually using CLI.
Features and options#
Node configuration#
OpenBSD nodes come up with a basic configuration where only the management interface and a default user are provisioned.
Configuration save#
Containerlab's save
command will perform a configuration backup for OpenBSD
nodes via SCP. The entire /etc
directory of each node will be archived and saved under backup.tar.gz
file and can be found at the node's directory inside the lab parent directory:
# assuming the lab name is "openbsd01"
# and node name is "obsd1"
ls clab-openbsd01/obsd1/config/
backup.tar.gz
If the backup file is present upon the node's boot, it will be transferred to the node and extracted.The node will then reboot to apply the restored configuration.
Lab examples#
The following simple lab consists of two Linux hosts connected via one OpenBSD host: