> ## Content Index
> Fetch the complete content index at: https://www.pinglabz.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Install Cisco CML 2.10 on VMware ESXi (Step-by-Step with Screenshots)
- URL: https://www.pinglabz.com/install-cisco-cml-2-10-esxi/
- Published: 2026-05-29T19:03:41.000Z
- Updated: 2026-09-04T20:14:26.000Z
- Description: A step-by-step, screenshot-by-screenshot walkthrough of installing Cisco Modeling Labs (CML) 2.10 on VMware ESXi: deploy the OVA, size the VM, attach the refplat ISO, run setup, and start your first node.
- Author: Jaime
- Tags: Fundamentals, Labs, #Import 2026-08-01 19:54

Cisco Modeling Labs (CML) is the official replacement for VIRL, and running it on a VMware ESXi host is the sweet spot for a home lab or team lab: you deploy it once, snapshot it, and reach the web UI from any browser on your network. This guide walks through a clean install of **CML 2.10** (build `2.10.0+build.13`) on ESXi, from uploading the OVA to logging into the workbench and starting your first node. Every step below is a real screenshot from the install, not a stock diagram.

If you would rather watch it happen end to end, the full screen capture is near the end of this guide. The written version here is the one you will want open on a second monitor while you click through the wizard.

## What you need before you start

CML ships as two downloads from your Cisco account: a controller OVA and a reference platform (refplat) ISO. The OVA is the appliance itself (an Ubuntu 24.04 controller). The refplat ISO carries the node images (IOSv, IOL-XE, NX-OS, ASAv, and so on) that your labs actually run. You need both.

These are the exact files used in this build, so you know what you are looking for in the download portal:

`cml2_p_2.10.0-13_amd64-17.ova`

The CML 2.10 controller appliance (Personal edition OVA)

`refplat-20260409-fcs.iso`

Reference platform images, first customer ship (the main node images)

`refplat-20260409-supplemental.iso`

Supplemental reference platform images

`refplat-20260326-ise.iso`

ISE reference image (optional, only if you lab identity services)

On the host side, here are the minimum requirements Cisco publishes for the CML VM. Treat these as a floor, not a target: the more cores and RAM you give it, the more nodes you can run at once.

Hypervisor

VMware ESXi 7.0 or later

Memory

8 GB (idle CML uses \~1 GB; the rest is for your nodes)

CPU

4+ physical cores, Intel, with VT-x and EPT enabled

Disk

32 GB minimum, but plan for 100 GB or more

Network

1 interface reachable from your browser

Two things bite people here. First, CML uses **nested virtualization** (every node is itself a VM), so your processor must support VT-x and EPT, and some reference images only run on Intel. Second, the OVA's virtual hardware version is 13 for backwards compatibility, so plan to upgrade VM compatibility to the newest version your ESXi host supports (more on that below). Cisco officially requires ESXi 7.0+, so if you are on an older build, that is the first thing to address.

## Step 1: Upload the refplat ISO to your datastore

Before you deploy anything, get the refplat ISO onto a datastore that the ESXi host can see. In the ESXi Host Client, open the datastore browser, create a folder (this build uses `data/CML-ISO/`), and upload the refplat ISO files. You will attach one of them to the VM's CD/DVD drive in Step 3.

![ESXi datastore browser showing the CML 2.10 OVA and refplat ISO files including refplat-20260409-fcs.iso and refplat-20260409-supplemental.iso](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_11.png)

The CML-ISO folder on the datastore. Note the OVA (cml2\_p\_2.10.0-13\_amd64-17.ova) sitting alongside the refplat ISOs.

## Step 2: Deploy the CML OVA

In the ESXi Host Client, go to **Virtual Machines** and click **Create / Register VM**. Choose *Deploy a virtual machine from an OVF or OVA file*.

![ESXi New virtual machine wizard, Select creation type, Deploy a virtual machine from an OVF or OVA file](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_17.png)

Start the deployment wizard and pick the OVF/OVA option.

Give the VM a name (here it is `Cisco-CML`) and drop in the OVA file. The wizard accepts the single `.ova` directly, no need to unpack it.

![Select OVF and VMDK files step with cml2_p_2.10.0-13_amd64-17.ova uploaded and VM named Cisco-CML](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_16.png)

Name the VM and select cml2\_p\_2.10.0-13\_amd64-17.ova.

Pick a datastore for the VM. An SSD-backed datastore makes a real difference here, because labs start faster and write-sensitive nodes (NX-OS in particular) boot more reliably on fast storage.

![Select storage step in ESXi showing a 1TB-SSD datastore selected for the CML VM](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_15.png)

Put the VM on your fastest datastore. SSD is strongly recommended.

On the deployment options screen, map the network to a port group your browser can reach, choose **Thin** provisioning to save space, and leave *Power on automatically* **unchecked**. This part matters: you must configure the VM hardware before its first boot.

![Deployment options in ESXi with PublicNetwork mapped to VM Network, Thin disk provisioning, and Power on automatically unchecked](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_14.png)

Map the network, choose Thin, and leave the VM powered off for now.

Review the summary and finish. The guest OS is Ubuntu Linux 64-bit, which is the CML controller's underlying OS.

![Ready to complete step showing product cml2_2.10.0-13_amd64-17, thin provisioning, and Ubuntu Linux 64-bit guest OS](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_13.png)

Confirm the deployment. Do not refresh the browser while the OVA imports.

## Step 3: Configure the VM before first boot

This is the step most rushed installs skip, and it is the one that determines whether your lab is usable. With the VM still powered off, open **Edit settings**. The OVA's defaults (a handful of vCPUs, 8 GB RAM, a 32 GB disk) are the bare minimum and are not appropriate for a real ESXi deployment.

![ESXi Edit settings for the Cisco-CML VM showing 4 vCPU, 8 GB memory, 32 GB hard disk, and CD/DVD drive](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_12.png)

The OVA defaults. Bump CPU, memory, and especially disk before you boot.

Here is what to set, and why each one matters:

VM hardware compatibility

Upgrade to the latest version your ESXi host supports. The OVA ships at version 13 for compatibility, but newer features depend on a newer version.

vCPU

As many physical cores as you can spare. Set *cores per socket* so the socket count matches your host's physical CPUs.

CPU shares

High. Also tick *hardware virtualization* (expose VT-x to the guest) and *performance counters*.

Memory

16 GB or more if you have it. Reserve all guest memory (lock it) so ESXi does not swap or reclaim it out from under running nodes.

Hard disk

Grow it to 100 GB or more **before first boot**. CML resizes its filesystem to the initial disk size on first boot, and 10 GB of the default 32 GB is reserved for the OS.

CD/DVD Drive 1

Point it at the refplat ISO you uploaded in Step 1 and check *Connect at power on*.

Network adapter

Connect at power on, and enable DirectPath I/O.

Latency Sensitivity

Under VM Options, set to High.

There is one host-level change that catches almost everyone the first time they try to bridge a lab to the real network. For the CML VM's interface to pass lab traffic out to your LAN, the vSwitch and port group it uses must allow it. On each port group or vSwitch the CML VM touches, set **Promiscuous Mode = Accept** and **Forged Transmits = Accept**. On the host, set `Net.ReversePathFwdCheckPromisc = 1` in Advanced System Settings. If you skip this, the controller UI still works, but bridged external connectors will silently drop traffic.

## Step 4: First boot and the setup wizard

Now power on the VM. CML comes up through a GRUB menu and boots the `CML2` entry automatically.

![GNU GRUB boot menu for Cisco Modeling Labs CML2 GNU/Linux on first power on](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_10.png)

The GRUB menu on first boot. It auto-selects CML2 in a few seconds.

On first boot CML drops you into a text setup wizard that walks through the controller's identity and networking. First, the hostname:

![CML setup wizard prompting for the system hostname, set to cml-controller](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_9.png)

Set a hostname. cml-controller is the conventional default.

Next, the primary interface addressing. DHCP is fine for a first install and the easiest path to a working UI. You can pin a static address later from the Cockpit system management UI on TCP/9090, or switch to static here if your lab network expects it.

![CML setup wizard IPv4 configuration screen with DHCP selected for the primary network interface](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_8.png)

Leave it on DHCP unless your network requires a static address.

Then you choose optional services. CML 2.10 exposes three: **OpenSSH** (SSH to the controller on port 1122), **PATty** (port forwarding straight to lab nodes), and the new **MCP server**, which lets LLM tooling drive CML programmatically. Enable what you need; they can all be toggled later in Cockpit.

![CML optional services selection showing OpenSSH on port 1122, PATty lab node port forwarding, and MCP server for LLMs](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_7.png)

Optional services in CML 2.10, including the new MCP server for LLMs.

The wizard also has you set two passwords: one for the `sysadmin` system account (OS and Cockpit) and one for the `admin` CML account (the web UI). Keep them distinct and write them down. Finally, you confirm the whole configuration before it commits.

![CML configuration confirmation screen showing Standalone All-in-One deployment, cml-controller hostname, sysadmin and admin users, ISO attached, DHCP enabled](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_6.png)

Confirm the build: Standalone All-in-One, ISO attached, DHCP, services enabled.

Once you confirm, CML copies the reference platform images off the ISO and onto its local disk. This is required from CML 2.3 onward; nodes run from local disk, not the mounted ISO. The wizard warns you it takes roughly ten minutes.

![CML notice that reference platform images will be copied from the ISO to the VM disk, taking about 10 minutes](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_5.png)

CML copies the node images from the ISO to local disk on first setup.

![CML copying reference platform image objects from the CD-ROM ISO to the local filesystem during initial setup](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_4.png)

The copy in progress. Let it finish before you do anything else.

## What is actually on the reference platform ISO

Once the copy finishes, those node images become the building blocks for every lab. If you mount the refplat volume directly, you will see a `virl-base-images` directory with one folder per image, and people often search for these exact folder names when they are hunting for a specific version. Here is what shipped on the 2026 reference platform used in this build, and what each one is good for:

`iol-xe-17-18-02`

Platform

IOS XE on Linux (IOL-XE)

What you would lab with it

Lightweight IOS XE router, fast boot, ideal for large routing topologies

`iol-xe-serial-4eth-17-18-02`

Platform

IOL-XE (serial, 4x Ethernet)

What you would lab with it

IOL-XE variant with serial console and four Ethernet ports

`ioll2-xe-17-18-02`

PlatformIOL Layer 2 (IOL-L2)

What you would lab with it

Lightweight switch image for VLAN, STP, and trunking labs

`iosv-159-3-m12`

PlatformIOSv (IOS 15.9(3)M)

What you would lab with it

Classic IOS router for CCNA/CCNP routing

`iosvl2-2020`

PlatformIOSvL2

What you would lab with it

Classic IOS Layer 2 switch

`csr1000v-17-03-08a`

PlatformCSR 1000v

What you would lab with it

IOS XE virtual router for WAN and VPN labs

`cat8000v-17-18-02`

PlatformCatalyst 8000V

What you would lab with it

IOS XE routing and SD-WAN edge

`cat9000v-uadp-17-18-02`

PlatformCatalyst 9000v (UADP)

What you would lab with it

Catalyst 9000 switching with UADP ASIC simulation

`cat9000v-q200-17-18-02`

PlatformCatalyst 9000v (Q200)

What you would lab with it

Catalyst 9000 switching with Q200 ASIC simulation

`nxosv9300-10-6-2-f`

PlatformNexus 9300v (NX-OS)

What you would lab with it

Data center switching, VXLAN, vPC

`iosxrv9000-26-1-1`

PlatformIOS XRv 9000

What you would lab with it

Service provider routing, MPLS, segment routing

`xrd-26-1-1`

PlatformXRd

What you would lab with it

Containerized IOS XR, lighter than XRv 9000

`asav-9-24-1`

PlatformASAv 9.24

What you would lab with it

Adaptive Security Appliance for firewall and NAT labs

`wireless-ap-24-04-20260409`

PlatformCatalyst wireless AP

What you would lab with it

Wireless labs with the Catalyst 9800 controller

`wireless-client-24-04-20260409`

PlatformWireless client

What you would lab with it

Simulated client to associate to the AP

`alpine-wanem-3-23-3`

PlatformAlpine WAN emulator

What you would lab with it

Inject latency, loss, and jitter between nodes

`alpine-trex-3-23-3`

PlatformAlpine + TRex

What you would lab with it

High-rate traffic generation

`alpine-desktop-3-23-3`

PlatformAlpine desktop

What you would lab with it

GUI host for testing reachability from an end user view

`alpine-base-3-23-3`

PlatformAlpine base

What you would lab with it

Tiny Linux host for pings, traceroutes, and DHCP clients

`ubuntu-24-04-20260307`

PlatformUbuntu 24.04

What you would lab with it

Full Linux host for services, automation, and tooling

`server-tcl-17-0`

PlatformTCL server

What you would lab with it

Minimal scriptable server utility node

## Step 5: Log in and verify the install

When setup completes, the VM console shows a login banner with the version (here, `CML 2.10.0+build.13` on Ubuntu 24.04) and, most importantly, the URLs to reach the web UI and the Cockpit system console on port 9090.

![CML console login banner showing CML 2.10.0 build 13, Ubuntu 24.04, and the web UI access URL on the assigned IP address](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_3.png)

The console banner tells you the version and the exact URL to browse to.

Browse to that address in Chrome or Firefox (CML's UI is HTML5 and is tested on the latest two versions of both) and you get the Cisco Modeling Labs login. Sign in with the `admin` account you created in the wizard.

![Cisco Modeling Labs web UI login page in a browser](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_2.png)

The CML web UI login. Use the admin credentials from setup.

The first time you log in, CML will prompt you to register a license. Personal, Personal Plus, Enterprise, and Education licenses all use a registration token from your Cisco Smart Account; paste it in and the node limits unlock. After that, drop a node onto the canvas, start it, and open its console. If you see the node boot and hand you a prompt, your install is done and working.

![CML workbench with a running router node R1 and its console output confirming the node booted successfully](https://storage.ghost.io/c/ff/28/ff28db4a-11e1-4835-b928-158974cf96c1/content/images/2026/05/Cisco-Modeling-Labs-CML-Install_1.png)

A running node in the workbench. That booting console is your confirmation.

## Lab it, do not just read it

A free account unlocks 7 hands-on CCNA labs with CML topology files, four field-reference PDFs, and one email when a new lab ships.

Create a free account 

Check your inbox to confirm, then the downloads unlock. 

Ten seconds, no card. One email per new lab or guide, unsubscribe anytime.

## Troubleshooting the common failures

VM will not boot or panics early

VT-x/EPT not exposed to the guest. Enable hardware virtualization on the VM's CPU settings and confirm VT-x is on in the host BIOS.

Nodes will not start (or hang at boot)

Nested virtualization is missing, or you are on a non-Intel host with Intel-only images. Confirm VT-x/EPT and use Intel hardware for full support.

Can reach the UI, but bridged lab traffic dies

Promiscuous Mode and Forged Transmits are not set to Accept on the vSwitch/port group. Fix both, then disable and re-enable promiscuous mode or reboot the host.

Disk fills up fast

You booted with the default 32 GB disk. Grow the disk (ideally you do this before first boot) and add a storage volume from Cockpit.

No node images available

The refplat ISO was not attached at first boot, so the copy never ran. Attach the ISO and re-run the reference platform copy.

## Build your first lab

With CML up, the fastest way to get value is to build something you are studying. A two-router IOSv or IOL-XE topology is all you need to work through our [OSPF](https://www.pinglabz.com/ospf/), [BGP](https://www.pinglabz.com/bgp/), or [EIGRP](https://www.pinglabz.com/eigrp/) guides hands on. Drop in a couple of IOSvL2 or IOL-L2 switches and you can follow the [VLAN](https://www.pinglabz.com/vlans-layer-2-switching/) and [spanning tree](https://www.pinglabz.com/spanning-tree-protocol/) walkthroughs. The `asav-9-24-1` image pairs perfectly with our [Cisco ASA](https://www.pinglabz.com/cisco-asa/) cluster, and the wireless images line up with the [Catalyst 9800 wireless](https://www.pinglabz.com/wireless/) material. Every show-command output you see in those articles was captured on CML labs exactly like the one you just built.

## Frequently asked questions

### Is Cisco Modeling Labs free?

There is a free tier, CML-Free, which runs a small number of nodes at no cost. The Personal and Personal Plus tiers (a modest annual fee) raise the node limit and are what most home labbers buy. Enterprise and Education are the larger, clustered offerings. Whichever you have, the install process on ESXi is identical; only the license token and node limits differ.

### What is the difference between the OVA and the refplat ISO?

The OVA is the CML controller appliance, the thing you deploy as a VM. The refplat ISO carries the node images (routers, switches, firewalls) that your labs run. You install the OVA once and attach the ISO so CML can copy those images to its local disk. You can later download newer refplat ISOs to add updated node versions without reinstalling CML.

### Do I really need ESXi 7.0 or later?

That is Cisco's supported minimum for CML 2.10, and it is what you should target. The OVA's virtual hardware version is 13 for backwards compatibility, but you should upgrade the VM's hardware compatibility to the newest version your host supports so you do not lose features. Older ESXi builds may appear to work but are not supported.

### Why must I set the disk size before the first boot?

CML automatically resizes its filesystem to match the initial disk size the first time it boots. If you boot with the 32 GB default and grow the disk afterward, the extra space is not automatically used by the root filesystem; you have to add a storage volume or expand it manually from Cockpit. Sizing it to 100 GB or more before the first boot avoids that entirely.

### Can I run CML on AMD or Apple Silicon?

CML is only fully supported on Intel processors. The application services run fine on AMD, but several reference platform images are Intel-only, so AMD support is best effort. Apple Silicon (M-series) is not supported for the VMware Fusion path. For a dependable lab, use an Intel host with VT-x and EPT.

## Key takeaways

If you take one thing away from this guide, it is to **configure the VM before you power it on**: upgrade the hardware compatibility, give it real CPU and memory with high shares and reserved RAM, grow the disk to 100 GB or more, attach the refplat ISO, and set promiscuous mode plus forged transmits on the vSwitch. Get those right and the rest of the install is a ten-minute wizard followed by a license token. From there you have a full Cisco lab (IOS, IOS XE, NX-OS, IOS XR, ASA, and wireless) running on a single ESXi host, ready for whatever you are studying next.

This walkthrough was based on a real CML 2.10 install; for Cisco's authoritative reference, see the [CML 2.10 Installation Guide](https://developer.cisco.com/docs/modeling-labs/cml-installation-guide/?ref=pinglabz.com) and the [Deploying the OVA on ESXi Server](https://developer.cisco.com/docs/modeling-labs/deploying-the-ova-on-esxi-server/?ref=pinglabz.com) page.

Next in the lab-setup series: [How to Install the Missing Docker Container Images in Cisco Modeling Labs 2.10](https://www.pinglabz.com/install-cml-2-10-docker-container-images/).