Lab & Testing

Running Multiple OcNOS VMs in EVE-NG: Setup and Configuration Guide

EVE-NG is a popular network emulation platform used in enterprise labs, network training, and pre-deployment testing environments. Its browser-based topology editor and multi-vendor QEMU support make it well-suited for running multiple OcNOS VM instances in realistic network topologies. This guide walks through adding OcNOS to EVE-NG and running your first multi-node configuration tests.

Prerequisites

  • EVE-NG Community or Professional (version 3.0+)
  • OcNOS Demo VM downloaded from IP Infusion’s website (QEMU .qcow2 format)
  • SSH access to your EVE-NG server for image upload
  • Minimum 2GB RAM per OcNOS VM instance

Adding OcNOS to EVE-NG

# EVE-NG server (SSH) -- prepare OcNOS image directory
#
# Step 1: Create OcNOS image directory in EVE-NG
mkdir -p /opt/unetlab/addons/qemu/ocnos-demo-7.0/
cd /opt/unetlab/addons/qemu/ocnos-demo-7.0/

# Step 2: Upload OcNOS qcow2 image (via SCP or EVE-NG file manager)
scp user@yourhost:OcNOS-Demo-VM.qcow2 /opt/unetlab/addons/qemu/ocnos-demo-7.0/hda.qcow2

# Step 3: Fix permissions
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

# Step 4: Configure OcNOS template in EVE-NG
# Edit /opt/unetlab/html/templates/amd/ocnos.yml (create if not exists):
cat > /opt/unetlab/html/templates/amd/ocnos.yml << 'YAML'
---
type: qemu
description: IP Infusion OcNOS
name: OcNOS
cpulimit: 1
icon: router.png
idlepc: 0x00000000
image: ocnos-demo-7.0
nvram: 1024
ram: 2048
console: telnet
ethernet: 8
serial: 0
YAML

# Step 5: EVE-NG web GUI -- refresh templates, drag OcNOS into topology

Sample BGP Peering Topology in EVE-NG

! OcNOS VM in EVE-NG -- BGP iBGP peering test between two VMs
! R1: 10.0.0.1, R2: 10.0.0.2, connected via 192.168.1.0/30
!
! --- R1 Configuration ---
interface lo
  ip address 10.0.0.1/32
!
interface eth-0-1
  no shutdown
  ip address 192.168.1.1/30
!
! OSPF for loopback reachability (BGP next-hop resolution)
router ospf 1
  router-id 10.0.0.1
  passive-interface lo
  network 10.0.0.1/32 area 0
  network 192.168.1.0/30 area 0
!
router bgp 65001
  bgp router-id 10.0.0.1
  neighbor 10.0.0.2 remote-as 65001
  neighbor 10.0.0.2 update-source lo
  !
  address-family ipv4 unicast
    neighbor 10.0.0.2 activate
    network 10.10.1.0/24         ! Advertise test prefix
  exit-address-family
!
! --- Verify on R1 ---
show bgp summary
! Expected: R2 (10.0.0.2) in Established state
show ip bgp 10.10.1.0/24
! Verify prefix is advertised and received

Testing MPLS LDP in EVE-NG

! OcNOS VM in EVE-NG -- MPLS LDP between 3 nodes
! Validates label distribution before production deployment
!
! Enable MPLS and LDP on R2 (transit node):
mpls ldp
  router-id 10.0.0.2
  address-family ipv4
    discovery transport-address 10.0.0.2
    interface eth-0-1
    interface eth-0-2
  exit-address-family
!
! Verify LDP sessions and label bindings:
show mpls ldp neighbor
show mpls ldp bindings 10.0.0.1/32
! Expected: local label assigned, remote label received from R1
!
show mpls forwarding-table
! Verify MPLS FIB entries for PE loopbacks

EVE-NG Tips for OcNOS VM

  • Use “Management Cloud” node — connect OcNOS VMs to EVE-NG’s Management Cloud to access them from your workstation browser via telnet/SSH
  • Wireshark capture — right-click any EVE-NG link to start Wireshark capture; validate MPLS labels, OSPF hellos, and BGP UPDATE messages in real time
  • Save topology as lab file — EVE-NG saves topologies as .unl files that can be shared with colleagues
  • Multi-vendor testing — add Cisco, Juniper, or Arista VMs alongside OcNOS to test interoperability of IS-IS, BGP, and EVPN

IP Infusion Product Team

Partager