<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Proxmox on 0x2142 | Networking Nonsense</title>
    <link>https://0x2142.com/tags/proxmox/</link>
    <description>Recent content in Proxmox on 0x2142 | Networking Nonsense</description>
    <image>
      <title>0x2142 | Networking Nonsense</title>
      <url>https://0x2142.com/logo.jpg</url>
      <link>https://0x2142.com/logo.jpg</link>
    </image>
    <generator>Hugo -- 0.143.1</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 18 Apr 2024 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://0x2142.com/tags/proxmox/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[How To] Set up Cisco Modeling Labs (CML) on Proxmox</title>
      <link>https://0x2142.com/how-to-setup-cml-on-proxmox/</link>
      <pubDate>Thu, 18 Apr 2024 12:00:00 +0000</pubDate>
      <guid>https://0x2142.com/how-to-setup-cml-on-proxmox/</guid>
      <description>In this blog post, we&amp;rsquo;ll walk through how to set up &amp;amp; install Cisco Modeling Labs (CML) on Proxmox</description>
      <content:encoded><![CDATA[<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
      <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Ajpi_vVTtLc?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
    </div>

<p>With a lot of the recent nonsense going on after VMware was acquired last year, I&rsquo;m seeing people start to look for ESX alternatives - especially for home labs. In fact, I also just <a href="https://www.youtube.com/watch?v=MS4ERrvG9eM">migrated</a> my home lab from ESX to Proxmox.</p>
<p>One of the things I needed to keep running was Cisco Modeling Labs (CML). I often use CML to build quick virtual topologies for testing things, so it was important for me that it worked on Proxmox.</p>
<p>It&rsquo;s worth noting that Proxmox isn&rsquo;t an officially supported platform. The <a href="https://developer.cisco.com/docs/modeling-labs/#!system-requirements">docs</a> state that only bare metal &amp; VMware platforms are supported.</p>
<p>That being said, I&rsquo;m happy to say that Proxmox has worked just fine for me - it just needed a few tweaks. Though just be warned that you may still run into issues and it is technically an unsupported configuration.</p>
<p>In the post below, I&rsquo;ll share the steps that I used to get CML up &amp; running on Proxmox.</p>
<hr>
<h2 id="prerequisites">Prerequisites</h2>
<p>To start with, we&rsquo;ll need a few things:</p>
<ul>
<li>A server running Proxmox
<ul>
<li>I&rsquo;m currently using version 8.1.3</li>
</ul>
</li>
<li>A CML install ISO, found <a href="https://software.cisco.com/download/home/286193282/type/286326381/release/2.6.1">here</a>
<ul>
<li>We&rsquo;ll be using version 2.6.1 for this guide</li>
</ul>
</li>
<li>CML&rsquo;s reference platform ISO, also found at the link above</li>
</ul>
<p>Our Proxmox machine will still need enough resources to build a VM with the minimum requirements listed <a href="https://developer.cisco.com/docs/modeling-labs/#!system-requirements">here</a>.</p>
<p>The CML &amp; refplat ISOs should be placed into a Proxmox ISO storage location.</p>
<h2 id="creating-the-vm">Creating the VM</h2>
<p>Next we can get to the fun part: Setting up the VM in Proxmox.</p>
<p>We&rsquo;ll first locate a node in Proxmox to place our VM. Then right-click that node &amp; select <strong>Create VM</strong>:</p>
<p><img alt="new-vm" loading="lazy" src="/how-to-setup-cml-on-proxmox/new-vm.png#center"></p>
<p>Then, we&rsquo;ll give our VM a name &amp; ID. I&rsquo;ve named mine <strong>CML</strong>:</p>
<p><img alt="vm-general" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-general.png#center"></p>
<p>On the next page, we can select our CML ISO from the correct storage device. We can leave the Guest OS as <strong>Linux</strong> and <strong>6.x - 2.6 Kernel</strong>:</p>
<p><img alt="vm-os" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-os.png#center"></p>
<p>Next, we&rsquo;ll need to make some minor adjustments on the <strong>System</strong> tab.</p>
<p>The default BIOS will likely be set to <strong>Default (SeaBIOS)</strong>. We&rsquo;ll change that to <strong>OVMF (UEFI)</strong>, which will also give us a few additional options.</p>
<p>We&rsquo;ll keep <strong>Add EFI Disk</strong> checked, and select a storage location for that EFI disk.</p>
<p><img alt="vm-system" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-system.png#center"></p>
<p>On the <strong>Disks</strong> tab, feel free to increase the size of the VM disk. While 32GB is the minimum required, you&rsquo;ll likely want more than that. I&rsquo;ve increased mine to 50G for now. Keep the image format as <strong>QEMU</strong>.</p>
<p>We&rsquo;ll also want to update the <strong>Async IO</strong> setting to <strong>native</strong>. This is hidden under the <strong>Advanced</strong> settings:</p>
<p><img alt="vm-disk" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-disk.png#center"></p>
<p>On the <strong>CPU</strong> tab, we&rsquo;ll update the core count to a minimum of 4 per the requirements. Of course, you&rsquo;re welcome to increase this as needed.</p>
<p>More importantly however, we&rsquo;ll need to set the CPU <strong>type</strong> to <strong>host</strong>. This allows the VM to use the underlying nested virtualization features:</p>
<p><img alt="vm-cpu" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-cpu.png#center"></p>
<p>Next we can assign memory to our VM.</p>
<p>The requirements state a minimum of 8GB, however this will likely only accommodate simpler labs. Some individual CML nodes require more than that to start.</p>
<p>In my case, I&rsquo;ll start with 32GB - and we can always increase this later:</p>
<p><img alt="vm-memory" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-memory.png#center"></p>
<p>Lastly, on the <strong>Network</strong> tab, no changes are necessary. Of course, you can assign a VLAN if needed.</p>
<p><img alt="vm-network" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-network.png#center"></p>
<p>After that, we can head over to the <strong>Confirm</strong> tab &amp; finish up the wizard.</p>
<h2 id="add-refplat-iso">Add Refplat ISO</h2>
<p>Next, we&rsquo;ll need to make sure our reference platform ISO is connected to the VM.</p>
<p>We&rsquo;ll head over to the VM&rsquo;s hardware tab, then click <strong>Add</strong> and select <strong>CD/DVD Drive</strong>:</p>
<p><img alt="vm-add-cdrom" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-add-cdrom.png#center"></p>
<p>Then we&rsquo;ll select the appropriate ISO storage, and pick our refplat ISO file:</p>
<p><img alt="vm-add-refplat" loading="lazy" src="/how-to-setup-cml-on-proxmox/vm-add-refplat.png#center"></p>
<h2 id="install-cml">Install CML</h2>
<p>Once that&rsquo;s done, we can go ahead and power on our VM &amp; pop open the console!</p>
<p>If you&rsquo;ve installed CML previously on another platform, this process is just the same.</p>
<p><img alt="con-install" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-install.png#center"></p>
<p>At boot, we&rsquo;ll select <strong>Install CML</strong>.</p>
<p>After a moment &amp; a few screens, we&rsquo;ll start the system configuration.</p>
<p>First, we&rsquo;ll input a system hostname:</p>
<p><img alt="con-hostname" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-hostname.png#center"></p>
<p>Then, we&rsquo;ll input credentials for the system management user.</p>
<blockquote>
<p>Note: This user isn&rsquo;t used to log into the CML software. Rather, it&rsquo;s used for system administration tasks via the <a href="https://cockpit-project.org/">Cockpit UI</a>, such as: Installing updates, checking logs, joining a domain, or powering off / rebooting the system.</p></blockquote>
<p><img alt="con-sysadmin" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-sysadmin.png#center"></p>
<p>After that, we can configure our CML admin user:</p>
<p><img alt="con-cmladmin" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-cmladmin.png#center"></p>
<p>Next we have our network config. By default, CML will prompt to use DHCP, but we&rsquo;ll likely want to change this to a static IP assignment:</p>
<p><img alt="con-networktype" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-networktype.png#center"></p>
<p><img alt="con-staticip" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-staticip.png#center"></p>
<p>After that, CML will prompt us to confirm our settings - then it will begin the installation. Since a lot of the VM images come from the reference platform ISO, this process may take a while as each of those images are copied over to the system.</p>
<p>When CML is ready, we&rsquo;ll see something similar on the console telling us how to reach the web UI:</p>
<p><img alt="con-alldone" loading="lazy" src="/how-to-setup-cml-on-proxmox/con-alldone.png#center"></p>
<p>Again for reference, the main UI is reachable at <code>https://&lt;CML IP&gt;</code> and the Cockpit management UI is at <code>https://&lt;CML IP&gt;:9090</code>.</p>
<p>At this point, we can log in &amp; start building labs!</p>
<hr>
<p>The process for setting up CML on Proxmox isn&rsquo;t super crazy, but there are just a few tweaks that need to be made during setup. I wrote this hoping that if anyone else out there is trying to set this up, maybe it would help.</p>
<p>As always, Thanks for reading!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
