Installing Cisco CSR 1000V in VirtualBox

Virtual networking is becoming more and more popular.  Just a little while back, Cisco released a virtual router called CSR 1000V that can run in a VM.  CSR is for Cloud Services Router.  But Cisco had limited its use to VMWare based technology like ESX and VMWare Player/Workstation.  Well, when Cisco released version 3.10, is supported more virtual machines and it looked like it had the possibility to run in Virtual Box.  I was quite happy to try as I use Virtual Box a lot.  So after lots of tweaks and tries, I got it to work the way I wanted.

For this example, I am going to create a router called csr1000v-2.  A few notes:

  • Needs to run on a PC that is a Core i5 or better.
  • CSR 1000V is free (if you already have a support contract) but extremely low throughput of 2.5Mbps.  A paid license is required for higher throughput. But this is good enough to learning purposes.

To install, you will need the following:

  • Download and install VirtualBox.
  • Download the ‘Cisco CSR 1000V Series ADVANCED ENTERPRISE SERVICES – ISO’ file from Cisco.  I am currently using 3.10.0S, which is IOS 15.3(3)S as it is the first release to support(unofficially).  There are newer versions available, this just happens to be the one I first grabbed when it came out.

First to explain why using Named Pipe.  When you first start the installer, it will ask you if you want to use the VM console as the routers ‘console’ port or if you want to use the VMs serial port as the ‘console’ port.  Since I will need to copy and paste commands, I decided to use the serial port option as it allowed me to connect to the serial port using Putty.  The Named Pipe utility creates a TCP port proxy.  So you can open a connection to a specific TCP port and the utility will redirect it to the serial Pipe.

So after you download the Named Pipe utility, just

  • Start the program “piped.exe”
  • Create our first pipe with the following settings.
    •  Pipe-Name “\\.\pipe\csr1000v-2”
    • Port 1999.
  • I put the router name in the Pipe-Name so I know which pipe is for which router.  You will need to create a new entry for each CSR you install on your PC.  Choose a different port for each too.

Now that this is setup, if you telnet to localhost port 1999 on you PC, you will be attached to the serial port.

Next we are going to create the VM.  Create a new VM in VirtualBox with the following settings.

  • General:
    • Type: Linux
    • Version: RedHat (64bit)
  • Memory: 4GB
  • Network: (You can choose if you want each interface to be NAT, BIND, LocalHost, etc.)
    • Enable all 4 adapters and set the 'Adapter Type' to 'Paravirtualized Network (virt-io net)'
  • Audio:
    • Off
  • Serial Ports:
    • Enable Serial Port 1
    • Port Number: COM1
    • Port Mode: Host Pipe
    • Create Pipe checked
    • Port/File Path: \\.\pipe\csr1000v-2

Before we start the VM, make sure you have started the Named Pipe Proxy TCP Proxy.

  • Open telnet connection to proxy port (eg, localhost port 1999)
    • If using Putty, change setting in Putty session under    Connection->Telnet
      • Turn off ‘Return key sends Telnet New Line instead of ^M’.

Now start the VM.

  • In GRUB menu, choose ‘Serial Console’.
  • First boot takes a long while.  It will reboot once automatically.  There is nothing else you need to do.

There you go.  Wasn’t that easy?  It’s all automatic.  So, connect to router to see what IP address the GigabitEthernet0 was given.

Router#sh dhcp lease
Temp IP addr:  for peer on Interface: GigabitEthernet0

Now it’s up to you to configure the remainder.  Below is some extra initial config to just get you going.

Give the router an initial enable and telnet password and hostname.  An example is as follows.

Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#enable secret cisco
Router(config)#line vty 0 4
Router(config-line)#password cisco
Router(config)#hostname csr1000v-2
Building configuration...

Now a few closing comments. You may have noticed that it takes a lot of RAM.  I haven’t tried reducing it to see how low I could get it, but I did try 1GB memory for the VM and it didn’t successfully boot.

Also, now that it is in a VirtualBox VM, you GNS3 people can add a CSR 1000V into your topologies.

Enjoy everyone.

This post ‘Installing Cisco CSR 1000V in VirtualBox’ first appeared on


7 Responses to Installing Cisco CSR 1000V in VirtualBox

  1. Pingback: Technology Short Take #38 - - The weblog of an IT pro specializing in virtualization, networking, storage, and servers

  2. Pingback: Using the Cisco CSR1000V in GNS3 With VirtualBox | Herding Packets

  3. Pingback: Juniper Announces Virtual MX | Tech and Trains

  4. Thijs Van severen says:

    thanks for this article
    i managed to get a 1000v running on virtualbox (on ubuntu 16.04)
    however, i had to use a VMDK disk (VDI did not work) and i had to select Intel nics

  5. James says:

    It’s unfortunate that you tell us to:
    “Download the ‘Cisco CSR 1000V Series ADVANCED ENTERPRISE SERVICES – ISO’ file from Cisco”
    and then don’t tell us what you did with it. Was it used as an installer? Was it used as a boot disk?

    • Jim Reynolds says:

      You create the VM in VirtualBox and select the ISO to be mounted as the optical disk i.e. like you have installed a DVD with the CSR1000v pre-installed. Just like if you downloaded an Ubuntu ISO image and installed that in a VirtualBox VM. The author is assuming you already have a basic understanding of how to drive VirtualBox.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: