Using Cisco IOS in the All-in-One VM
I have to come clean: Those last couple of Config Museum labs over in the CCENTskills blog were just a backstory to get ready for this post. Those Config Museum labs used a slightly different topology than I normally use, this time with only Gigabit Ethernet links. Why this topology? A free downloadable Virtual Machine (VM) from Cisco supports it. You can download the VM, and do the lab, running real IOS from Cisco. Yep. Today’s post gives the highlights.
A Bit of Context
First, let’s take a brief review of those two labs. Each lab’s problem and answer posts are listed below. You don’t need to review those posts before reading the rest of this lab, but feel free to do so if you want to get your brain started a bit, thinking about the topology, and some basic IPv4 addressing and OSPFv2 configuration.
- IPv4 Addressing Lab Problem Statement
- IPv4 Addressing Lab Answer
- OSPF Lab Problem Statement
- OSPF Lab Answer
More importantly, the lab claimed the topology as shown here in Figure 1:
Figure 1: Logical Topology in Some Recent Config Museum Labs
Now on to how you can create that exact same topology with the Cisco All-in-One VM.
The Cisco All-in-One VM
Cisco’s All-in-One VM is a wonderful invention. Think of it as a Swiss Army Knife, but for all things related to Cisco’s Open Networking Environment Platform Kit, otherwise known as onePK. The AIO VM (my abbreviation, not Cisco’s) is a Linux (Ubuntu) VM, packaged so you can run it with most any desktop virtualization software. Installed on the Linux image are several important components to help you learn onePK, in particular:
- The onePK Software Development Kit (SDK)
- OnePK sample code
- OnePK tutorials
- OnePK API documentation
- And… a network virtualization tool called VMCloud (also called Network Device Emulator, or NDE) that builds a 3-router topology running Cisco IOS
You can think of the VMCloud as just one tool of the AIO VM Swiss Army Knife. Developers may never bother to use VMCloud when learning about onePK, but most will. Why? OnePK gives programmers access to data and events that occur in Cisco device OS’s. To test those programs, developers could go but real Cisco routers, switches, learn enough to get them installed and working, all to give them a network to use when testing their app… or they could just start VMCloud as included with the AIO VM.
No muss, no fuss, instant test environment for the programmer.
Cisco offers the All-in-One VM as a way to help anyone learn about onePK. Depending on how things fall out in the SDN market, you may never learn onePK, you may use products that happen to use onePK, or maybe you’ll learn to program using the onePK APIs. (Writing some posts about learning onePK is on my radar for the SDNSkills.com blog, by the way.)
The Three Node Network in AIO VM
Of course, those of us who think like networkers instead of developers may hear about the AIO VM and really like that one VMCloud part of the AIO VM Swiss Army Knife. So, what is it, and how does it work?
Basically, once you have the All-in-one VM installed, you click the icon to start the “3node” network, and poof! You get windows for the console of three routers in a 3-router network. Behind the scenes, the software that’s called VMCloud that basically acts as an network emulator or network hypervisor. The net result: multiple special-built Cisco router IOS images (called IOSv) run on that one Linux host. Here’s a screen shot of the desktop, with the router console windows on the right.
Figure 2: Cisco AIO VM Desktop, with Cisco IOS Consoles
The current AIO VM lets you start that one network topology, with three routers, but the routers have several connections so you can have redundant paths between the routers. However, to make the connections match Figure 1, do the following:
R1: Shutdown G0/2 and G0/3
R2: Shutdown G0/3
R3: Shutdown G0/3
So, circling back to the Config Museum labs in the CCENTSkills blog: you can try those from the AIO VM. Just get the VM from developer.cisco.com (free login required), download (it’s a big download), install, start the Linux VM, start the 3node network, (whew), and finally, you can try out the config you built in those labs.
More on VMCloud
If you think this is really cool, and want more info, there’s a doc PDF for VMCloud in the AIO VM itself. Just go to the onePK doc icon on the desktop, where you’ll find an icon for “Emulator User Guide”. However, the details may change the next time Cisco revises the AIO VM, because the next version of the AIO VM may have a newer network emulator/hypervisor called VIRL (Virtual Internet Routing Lab). More on that in an upcoming post!
(Also, note that “VMCloud” also goes by the name “Network Device Emulator” or NDE as well. The documentation in the AIO VM uses “VMCloud”, while the SDN video classes from Cisco call it NDE. I don’t think the name really matters, other than to find information about it.)
Just an FYI, but you can also extract the IOS VM from the AIO image and run multiple copies of it under VMware, using the vswitches to interconnect the images. That way you can run more than 3 routers…
That’s very interesting can you expand on how to do that?
Is there any difference in this method if we done it on windows. AS YOU HAVE DONE THAT THING IN THE MAC!
Hi Frank,
I did use a Mac, running VMWare Fusion. Inside VMWare Fusion, I ran the AIO VM. The VM itself is a Linux host. So, the screen shot, for instance, is a screen shot of the AIO Linux desktop, not my Mac.
I am confident AIO works the same (to the depth discussed here) if instead say using VMWare Workstation on some Windows Platform, because the simulator is code running on the Linux VM. However, in answer to your literal question, I’ve not run the AIO VM as a guest on Windows. I’ve only used it under VMWare ESXi and as described above on my Mac.
Hope this helps.
Wendell
Hello, this looks very interesting, can you please provide the link to the All in One VM? the one you’ve provided seems to be a broken link…
Thanks!!
Howdy,
The all-in-one VM is no more. The main motivation for it (ONEpk) is gone best I can tell. Also, the emulator that let you run IOS was what became available as VIRL. So, if you like the idea of a place to run IOS, check out virl.cisco.com. VIRL does cost $$, whereas AIO was free. 🙁
wendell