Using Cisco IOS in the All-in-One VM

By certskills September 2, 2014 09:05

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.


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 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 (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.)


Config Museum: OSPFv2 Single Area Answers
CML Now, and VIRL One Day
By certskills September 2, 2014 09:05
Notify of

Your e-mail address will not be published.
Required fields are marked*


Newest Most Voted
Inline Feedbacks
View all comments
September 16, 2014 4:20 pm

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…

Reply to  Kevin
October 18, 2014 7:19 pm

That’s very interesting can you expand on how to do that?

January 10, 2015 6:34 am

Is there any difference in this method if we done it on windows. AS YOU HAVE DONE THAT THING IN THE MAC!

November 22, 2016 3:56 pm

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…