Community Solution

Add a Second NIC to a ZimaOS ZVM Guest with libvirt and virsh

A ZimaOS 1.4.1 user wanted a second virtual network interface for a Linux VM. IceWhale recorded the multi-NIC UI request and suggested virsh as a manual workaround while the feature was not available in the interface.

The source thread confirms that ZVM 1.4.1 did not expose a second virtual NIC in its UI. IceWhale treated multi-NIC as a feature request and suggested using virsh manually for advanced users.

libvirt Supports More Than One Network Interface

The upstream virsh interface controls documents attach-interface for adding a network, bridge, direct, hostdev, or vhost-user interface to a VM. The libvirt network interfaces shows that a domain can contain multiple interface elements.

The virtual machine requirements provides current ZimaOS/libvirt context, including that VM networking ultimately depends on QEMU/KVM/libvirt capabilities rather than only the GUI.

Do Not Copy an Interface Command Without Knowing the Network Model

A second NIC for a router VM may need a different attachment type from a second NIC for a private cluster network. Identify whether the guest should attach to a libvirt network, a host bridge, a physical interface, or a passed-through device.

The ZimaBoard 2 hardware is relevant for dual-port ZimaBoard 2 projects, while the ZimaBoard firewall build shows the broader use case of separate interfaces for firewall/router workloads.

Verify Current UI Support Before Editing libvirt

The 2025 thread only proves that the multi-NIC UI was missing in that release. A later 2026 community test successfully configured two direct interfaces with libvirt on ZimaBoard 2, but manual VM XML remains an advanced path. Check the current ZVM interface before editing domain definitions directly.

Bottom Line

Multiple NICs are technically supported by libvirt, and IceWhale explicitly suggested virsh as the workaround in the source thread. The difficult part is choosing the correct network model and making the change persistent, not merely adding a second interface line.