Running a Cisco 9800-CL Wireless Controller on Proxmox
Kevin — Adjacentnode
A full walkthrough of getting the Cisco 9800-CL virtual wireless controller running on a Proxmox homelab. Covers the gotchas, the config, and what actually works.
The Cisco 9800-CL is the cloud/virtual version of Cisco's enterprise wireless controller. It runs as a VM, which means you can spin it up in a homelab without buying physical hardware. That's a big deal if you're studying for a wireless cert or just want to get hands-on with enterprise Wi-Fi without spending thousands.
Here's exactly how to get it running on Proxmox.
What You Need
You need a Proxmox server (any reasonably modern hardware works), a Cisco 9800-CL OVA file (you'll need a Cisco account and a valid license or eval), and at least 8GB of RAM and 4 vCPUs to dedicate to the VM. Don't try to run this on 2GB — it will boot and then immediately make you regret it.
Importing the OVA
Proxmox doesn't natively import OVA files through the GUI, so you'll do this from the command line. Copy the OVA to your Proxmox host, then extract it with tar and convert the VMDK to qcow2 using qemu-img. Create a new VM in Proxmox, then import the converted disk to it.
The key settings: set the machine type to q35, enable UEFI boot, and give it at least 3 network interfaces — one for management, one for the wireless management interface, and one for the AP data plane. If you only give it one NIC, it'll boot but you won't be able to do anything useful with it.
First Boot and Initial Config
On first boot, you'll get a console prompt. The default credentials are admin/admin — change them immediately. Then you'll run through the initial setup wizard, which asks for hostname, management IP, and a few other basics.
The thing that trips most people up: the 9800-CL expects its management interface to have a specific VLAN configuration. If your Proxmox networking isn't set up to pass the right VLANs through, you'll get the controller up but won't be able to join APs to it.
Joining APs
For lab purposes, you can use a physical AP or a virtual one. Cisco has a virtual AP option for some platforms. The AP needs to be able to reach the controller's management IP on UDP 5246 and 5247 (CAPWAP). If you're running everything on the same Proxmox host with a vSwitch, this is straightforward. If you're going across physical switches, make sure your VLANs are trunked correctly.
What Works, What Doesn't
Everything you'd use in a real deployment works: SSIDs, VLANs, RF profiles, client policies, FlexConnect. What doesn't work well in a VM: anything that requires specialized hardware offload. But for learning and testing, you won't hit those limits.
The 9800-CL is a solid lab platform. It's the same code base as the physical controllers, so anything you learn here translates directly to production.
Enjoying the content? Subscribe for weekly breakdowns.
Subscribe to Newsletter