Network Configuration

Networking in Mesh Hypervisor spans PXE booting and cluster communication via VXLAN meshes. This section shows how to configure node networking—static IPs, bridges, or custom VXLAN networks—using machine folders and group folders in /host0/, applied via APKOVLs. All steps are run from the central orchestration node’s CLI. For an overview, see Networking.

Prerequisites

Ensure the following:

  • Remote nodes are online (check with mesh node info).
  • Central node is running (mesh system start executed).

Configuring a Static IP

Nodes boot with DHCP by default, but you can set a static IP using a machine or group folder’s manifest. For a node with UUID 10eff964:

  1. In /host0/machines/my-server/ (from Configuring Nodes), add to manifest:
    O MODE=root:root:0644 SRC=/host0/machines/my-server/interfaces TGT=/etc/network/interfaces
    
    This installs the static IP config.
  2. Create /host0/machines/my-server/interfaces:
    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
    
    This sets eth0 to a static IP.
  3. Compile and apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    
    The node reboots with the new IP.

Use a group folder (e.g., /host0/groups/net-static/) to apply to multiple nodes.

Configuring a Network Bridge

Bridges connect physical interfaces to workloads or VXLANs. For node 10eff964 with a bridge br0:

  1. In /host0/machines/my-server/manifest, add:
    O MODE=root:root:0644 SRC=/host0/machines/my-server/interfaces TGT=/etc/network/interfaces
    A MODE=root:root:0644 SRC=/host0/machines/my-server/modules TGT=/etc/modules
    A MODE=root:root:0644 SRC=/host0/machines/my-server/packages TGT=/etc/apk/world
    A MODE=root:root:0644 SRC=/host0/machines/my-server/bridge.conf TGT=/etc/qemu/bridge.conf
    A MODE=root:root:0644 SRC=/host0/machines/my-server/bridging.conf TGT=/etc/sysctl.d/bridging.conf
    
    This sets up the bridge and QEMU support.
  2. Create these files in /host0/machines/my-server/:
    • interfaces:
      auto eth0
      iface eth0 inet manual
      
      auto br0
      iface br0 inet static
          address 192.168.1.100
          netmask 255.255.255.0
          gateway 192.168.1.1
          bridge_ports eth0
      
      This bridges eth0 to br0 with a static IP.
    • modules:
      tun
      tap
      
      This loads KVM bridge modules.
    • packages:
      bridge
      
      This installs bridge tools.
    • bridge.conf:
      allow br0
      
      This permits QEMU to use br0.
    • bridging.conf:
      net.ipv4.conf.br0_bc_forwarding=1
      net.bridge.bridge-nf-call-iptables=0
      
      This enables bridge forwarding and skips iptables.
  3. Compile and apply:
    mesh system download
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    
    The node reboots with br0 ready for workloads.

Workloads can attach to br0—see Configuring Workloads.

Configuring a VXLAN Network

Custom VXLAN meshes extend the default network. Define them in /host0/network/ and install via a machine’s manifest:

  1. Create /host0/network/manage.conf:
    name=manage
    prefix=fd42:2345:1234:9abc::/64
    vni=456
    key=456
    
    • name: Identifies the mesh.
    • prefix: IPv6 ULA prefix.
    • vni: Virtual Network Identifier.
    • key: Seed for addressing. The central node (host0) is the default reflector.
  2. In /host0/machines/my-server/manifest, add:
    O MODE=root:root:0644 SRC=/host0/network/manage.conf TGT=/var/pxen/networks/manage.conf
    
    This installs the config.
  3. Compile and apply:
    mesh system configure
    mesh node ctl -n 10eff964 "reboot"
    
    The node joins the manage mesh, creating bridge br456 (format: br<vni>).

Workloads attach to br456. Add more nodes by repeating step 2 in their manifest.

Notes

Next, explore Manifest Files.