Install and configure a lab server with Arch Linux

A lab server is an essential resource for learning and experimentation. It can be used for anything from spinning up a simple virtual networking lab to deploying a complex multi-cluster Kubernetes topology using Vagrant. This post provides an opinionated step-by-step guide for installing and configuring a headless bare-metal lab server using Arch Linux, which can be completed in under an hour. After completing this guide, your lab server will be ready for use with the following projects: ...

November 14, 2025 · 8 min

Install vagrant-libvirt plugin on Arch Linux

I use Vagrant with the vagrant-libvirt plugin on my Arch Linux hosts quite extensively to quickly spin up development and lab environments. The plugin’s development is mature and generally feature-complete, but the latest release was published June 24, 2023. In the meantime, multiple commits were added to the main branch in the project repository. I use the following process rather than the standard installation sourced from RubyGems . Prerequisites Verify these Arch packages are installed: ...

January 25, 2025 · 2 min

Wireshark with Vagrant point-to-point (UDP tunnel) links

Vagrant supports three types of networks: public, private, and port-forwarding. The private network type has the option to use a UDP tunnel for a point-to-point link when using the vagrant-libvirt plugin. This connection type is ideal for links between virtual network devices. Refer to the following resources if you need more information: Pseudo-wires With Vagrant and Libvirt vagrant-libvirt Networks Vagrant Private Networks The only drawback with this type of connection is concerning packet sniffing. Since the connection uses a tunnel for encapsulation, we need a method to view the relevant data within the tunnel somehow. ...

February 12, 2020 · 3 min

SSH local port forwarding with remote GNS3 server

After opening the GNS3 client and starting nodes, we primarily access the remote virtual devices with a console connection. This console connection is either Telnet, VNC, or SPICE. A console connection covers our requirement for physical access to virtual devices, but today, most administrative tasks are carried out with a link to the network management interface . I define the GNS3 server as remote if the gns3server process is not running on the host operating system. I consider the GNS3 VM remote because the gns3server process runs on a guest operating system (Ubuntu). ...

June 24, 2019 · 16 min