As we all know Cisco recently released the CSR1000v. This post will describe how
to create a home lab consisting of Dynamips and CSR1000v running on ESXi.
You should already have deployed the CSR and have a Dynamips box ready. I will
use Ubuntu for my Dynamips machine but you can choose whatever OS you like.

So to start you should have ESXi 5.0. If you have an enterprise version of ESX
that is great but I don’t so I’m using ESXi. I am managing it via the vSphere client.

To install the CSR you can go to Cisco CSR config guide or read the guide by Brian Dennis at INE

I have installed Ubuntu desktop 12.10 64-bit version. You will need some tools to
have a good setup. I recommend you install the following:

Dynamips
Dynagen
XRDP
Wireshark
Gnome-fallback
Vmware tools
Screen

You can then use RDP to connect to the Ubuntu machine. If you don’t need the graphics you
can use use SSH as usual.

I will put together a topology that looks like this:

CSR_physical

As you can see I will be using 3 VLANs. One VLAN is for managing the devices.
I can login to the CSRs and the Dynamips routers from this network. The CSRs
uses GigabitEthernet0 by default as a management interface that are placed
in the VRF Mgmt-intf.

You can use a dedicated vSwitch or create the VLANs on the standard vSwitch. I have
just created VLANs in the regular vSwitch. You configure this under Inventory -> Configuration
-> Networking -> Add networking

Vmware1_configuration

Vmware2_networking

After clicking “Add Networking” choose connection type “Virtual machine”

Vmware3_Connection_type

Choose an existing vSwitch or create a new one if you wish.

Vmware4_Network_access

Then choose the name for your network and assign a VLAN ID to it. You can use the same
numbers I did or choose something else.

Vmware5_Connection_settings

Finish the guide and the new network will be present. We want to edit a setting
for the networks that will connect to Dynamips. We want to set the port group to
promiscous mode so that CDP frames and other traffic not destined to the VM can
arrive to the VMs. This will create some overhead but shouldn’t be an issue in
a lab network. Click “Properties…” for the vSwitch.

Vmware6_vSwitch_properties

Select the network and choose “Edit…” then under the Security tab set
“Promiscous Mode:” to Accept.

Vmware7_Security

After creating all the networks they need to be assigned to the virtual machines.
For the CSRs the GigabitEthernet0 will be assigned to the MGMT network and Gi1 to
CSR to Dynamips 1 and Gi2 to CSR to Dynamips2.

Right click the VM and choose “Edit Settings…”. The NICs should be assigned like this:

Vmware8_VM_properties

Do the same also for the Dynamips VM. In theory there should now be connectivity.
We will use a topology that looks like this:

CSR_logical

We need to create a .net file that can be used to create this topology.
5 routers will be running in Dynamips so 1 or 2 hypervisors should be enough.
As usual you need to find suitable Idle-PC value for your topology. My .net
looks like this.

The only thing special here is that R1 and R5 are connecting to the outside
world. By using the generic NIO descriptor we are connecting to the Ethernet
interfaces leading to the VM networks.

It’s time to start the Dynamips process. I will use screen because I want to
keep the process running even if I disconnect my session.

I have started all devices so I should be able to reach them and configure them now.

I will configure routers R1-R4 to run OSPF. R4 will announce its loopback 4.4.4.4
and this should be reachable from R5 on the other side of the network.
R1 will run BGP to both CSR1 and 2. This is the configuration applied to R1.

Configuration for CSRs is very simple.

CSR2 only has different addressing. Now do we see any routes?

Looks good. Now let’s just verify that R5 sees them as well.

ECMP is implemented since the cost is the same to ASBRs.
Final test is to ping 4.4.4.4.

And it works! Pretty cool stuff. So now we have a lab with both IOS and IOS-XE.
If we had real switches we could throw this into the topology as well.
If you have enterprise ESX you could even practice Nexus with N1kv image.
So you see that we can build some great topologies here.

This does take some computing power, mostly RAM. If I check ESXi I see that
the Ubuntu box is using around 2GHz CPU and about 2GB RAM. The CSRs are using
each 750MHz CPU and 3GB RAM. So in total you are looking at around 4GHz CPU
and 8GB RAM. It is doable on a well equipped laptop.

Connecting Cisco CSR1000v to Dynamips
Tagged on:             

5 thoughts on “Connecting Cisco CSR1000v to Dynamips

  • April 18, 2013 at 11:54 pm
    Permalink

    Thanks Daniel. I’m actually sitting my VCP5 exam on Monday. After that, I am planning to play with Nexus 1000v and CSR so this will be some welcomed help.

    Regards

    Reply
  • Pingback: Cisco CSR1000V on VMWare Fusion | Herding Packets

  • July 9, 2013 at 7:34 am
    Permalink

    Hi. Have you ever experienced that after restart Esxi CSR looses configuration?

    Reply
    • July 10, 2013 at 3:25 pm
      Permalink

      I haven’t tried rebooting ESXi but don’t see why it should do that. Are you sure it was saved to NVRAM?

      Reply
  • July 12, 2013 at 1:00 pm
    Permalink

    Yes, I’m sure but the wierd thing is that after reload it takes config and works perfectly.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: