Need to do test configurations on (unfamiliar) Cisco/IOS equipment. Is there a virtual machine I can light up and use it in my test environment as a real firewall/edge/core router?
Need to do test configurations on (unfamiliar) Cisco/IOS equipment. Is there a virtual machine I can light up and use it in my test environment as a real firewall/edge/core router?
The only Cisco equipment emulator I know of is Dynamips/Dynagen, but its purpose is learning Cisco IOS commands for certification exams, not testing actual networking setups. While you could certainly do that, the performance would be likely very bad. Even connecting two routers on the same machine eats a lot of CPU, and you have to play around to find which idleCPU value works for the image you are using, to get lower CPU usage, when the router is idle. Otherwise even with idle routers you get high CPU usage.
This is in contrast to Juniper Olives, which have quite good performance.
Have a look at GNS3 it's a nice GUI frontend to Dynamips which is a IOS router simulator.
Ask any Cisco IOS developer about 'IOU' (IOS On Unix). Sadly, an internal-only tool. Looks like this start-up may eventually make exactly what you want: http://www.embrane.com/
There is the Cisco CSR1000V for an XE based IOS
There is also now (2014) XRVR for XR based virtual machines that runs QNX and IOS-XR
Both run on QEMU/KVM/ESXi
There is also classic IOS bases IOSv or vIOS that is currently only shipped and supported as part of the cisco ONE-PK SDK; it has similar to IOU in capabilities but is not officially released as a standalone product
These are the only two official releases.
Update: IOSv is now available in cisco CML: http://iwe.cisco.com/web/cisco-modeling-labs
I've had good luck testing "routing" things in DynaMIPS/DynaGen (OSPF/BGP fail-over, route-redistribution and the like). I've tried, but not have good luck with, testing QoS policies. QoS can be tested to the point of "syntax", but for testing if the policies work "in the wild", I've found it necessary to test on real hardware.
I've also found DynaMIPS/DynaGen instances good for testing automation scripts against, saves finding actual hardware and with some care, you can save a baseline and not have to re-do it again and again.