Cisco Router – Virtual Appliance Guide

ciscocisco-iosvirtual

My colleague said that it is possible to virtualize a Cisco router i.e. run the Cisco IOS inside ESXi and it would act like a real cisco router so thus can be used in a light production environment.

I was a bit skeptical about this and have tried to Google it. I also found to a Cisco IOS XRv 9000 Router. Though I am still not clear I understand this.

Is it possible to actually virtualize a Cisco router as a VM to use it as a router in a network to do things like static route, RIP etc?

Best Answer

The IOS XRv 9000 is probably a bit of an oddball - it's IOS-XR based. I never got round to get my hands on it or any other device running IOS-XR. That's carrier and service provider grade stuff, and my CCNA/CCNP SP career never quite took off.

You're probably looking for the Cisco CSR1000V, and yes, that's a perfectly "normal" IOS-XE based router in a VM shell.

It needs to be licensed by feature sets and desired throughput levels (from 10M to 10G). I comes in Xen, Hyper-V, KVM, ESXi and even AWS flavours, and has up to 8 virtual interfaces/vNICs, each of which can be run with 802.1q tagging, if the underlying hypervisor allows for it. It can do VRF-lite, MPLS, NAT, WaaS, QoS, IPSec, runs any routing protocol IOS-XE supports and can do ... possibly anything you can do with IOS-XE that does not require special hardware features. And none of these things need to be "lightweight".

IOS on an IOS-XE based router (such as the ISR4000 series) is nothing much more than an IOS environment on a well-hidden hypervisor. So why not run it on someone else's hypervisor, too?

I've been using CSR1000vs for uses cases like:

  • Router based CA for running a FlexVPN/IKEv2-DMVPN-alike IPSec WAN overlay with certificate authentication
  • internal-BGP route reflector for MPLS-VPN setups
  • FlexVPN Client to connect to financial service providers (instead of housing yet another 890 series)
  • or just a simple IPsec VPN peer for various needs of site-to-site connectivity
  • experimenting with IPv6 and NAT64
Related Topic