Let’s face it we can do so much with GNS3 out of the box, it’s an amazing tool, especially with the way GNS3 1.0 is shaping up. However, Cisco is moving at a pretty big pace and there is a whole new line up of devices that we can use that are not supported in GNS3 (natively). Thankfully those wise people at GNS3 have leveraged VirtualBox to make our lives easier, and our topologies better and more up to date.
Today we will start having a look at the CSR1000v, we will cover downloaded and installing in VirtualBox, as well as changing our license level. Th4e CSR1000v is a free download if you have a CCO account, which is also free, so really you have no excuses.
The CSR1000v is a virtual router designed to run under VMWare or, as we will be doing here, under VirtualBox.
Getting the CSR1000v
You can download the CSR1000v straight from Cisco with a valid CCO account. The download link is here. Download the ISO image.
Installing the CSR1000v in VirtualBox
Fire up virtualbox and create a new 64-bit Linux VM (using “Other”).
Once it has installed and rebooted we can see that we are running IOS XE 15.4
We are also running on the standard license, though even if we do change the license level (as we will do next) both still show “License level: limited”.
At first run the CSR1000v has loads of options for us to play with, but we can make these even better. If we drop into the configuration mode and do a “?” we can see what’s available to us. I won’t copy out everything here, it’ll just waste your time and mine reading through everything. But there is loads of stuff. But we can have more.
We can change the license level and get loads of cool new stuff, and who doesn’t like cool new stuff?
The license level is changed by doing the following:
Router(config)#license boot level premium Feature Name:prem_eval (lots of EULA stuff - removed for brevity) ACCEPT? (yes/[no]): yes *Jul 22 12:49:06.561: %LICENSE-6-EULA_ACCEPTED: EULA for feature prem_eval 1.0 has been accepted. UDI=CSR1000V:96RG3ZZC37F; StoreIndex=0:Built-In License Storage% use 'write' command to make license boot config take effect on next boot Router(config)#exit Router#wr Router#reload
I did try changing to the advanced level, but this crashed the router. Once we have reloaded our CSR router we now also get (and I am just showing the new options):
Router(config)#? Configure commands: apollo Apollo global configuration commands appfw Configure the Application Firewall policy appletalk Appletalk global configuration commands arap Appletalk Remote Access Protocol auto Configure Automation bfd BFD configuration commands bfd-template BFD template configuration collector Define a Collector decnet Global DECnet configuration subcommands gtp Enable GTP Gn' keymap Define a new keymap l2 Layer 2 configuration l2vpn Layer2 VPN commands l3vpn l3vpn encapsulation ip commands lat DEC Local Area Transport (LAT) transmission protocol mcsa Configure mcsa mediatrace Mediatrace Application menu Define a user-interface menu metadata Metadata Application mop Configure the DEC MOP Server mpls Configure MPLS parameters mvr Enable/Disable MVR on the switch otv Configure OTV information parameter-map parameter map performance Global Performance monitor configuration pfr Performance Routing configuration submodes pfr-map Create pfr-map and enter pfr-map command mode pppoe PPPoE global configuration pseudowire-class Pseudowire-class configuration pseudowire-static-oam Static PW OAM configuration pseudowire-tlv Global PW TLV configuration service-insertion Service Insertion mode sgbp SGBP Stack Group Bidding Protocol configuration sgcp Enable Simple Gateway Control Protocol sgi Configure SGI smrp Simple Multicast Routing Protocol configuration commands spanning-tree Spanning Tree Subsystem tarp Global TARP configuration subcommands tn3270 tn3270 configuration command translate Translate global configuration commands ttycap Define a new termcap vc-group Define a Frame Relay VC group vines VINES global configuration commands vty-async Enable virtual async line configuration vxlan Configure VxLAN information xconnect Xconnect config commands xremote Configure XRemote zone FW with zoning zone-pair Zone pair command
Look at all that cool stuff! We have the ability to do loads of old stuff like DECnet and Appletalk, but even better that old stuff, we have new stuff, like MPLS (and by extension, VPLS), spanning-tree, EoMPLS with xconnects, OTV, VxLANs, Layer 3 VPNs!
We will start to have some fun with this in another post when we get it connected to GNS3 and build something fun to play with.
Stuart, can you suggest a solution to build a CCIE Home Lab with the simplest way and cost reduced for CCIE student?
Hey man, probably either GNS3 running 7200s with the most recent IOS 15 image you can find, connected to some layer 3 switches (3650s are pretty easy to get hold of), IOU which has layer 2 support, but some commands will be missing, or GNS3, a bunch of CSR1000v, again connected to some physical switches. The physical switches are going to be the biggest expense but should be around £150-£200 (ish). I have seen some people buy a fairly decent 1U rack server with about 32Gb memory running VMWare and then using the CSR1000v and physical switches.
IOU is the cheapest option, you can do pretty much everything in it, and its memory footprint is a lot lower. GNS3 1.0 alpha connects to IOU so in theory you could do everything from that, there will be a few commands/functions that don't work in an emulated environment but that's where your own reading will help you get around those issues.
It's a tough choice. It was far easier with the v4 as the hardware could be picked up easily and relatively cheaply. Now its a lot harder. VIRL should be out soonish though, and as the exam will be based on VIRL / CML then it may be worth hanging on for a while and seeing how this plays out…
I have started a poll to see what other people are using for their studies, hopefully this might help with some ideas and feedback!
I built my CCIE home lab with 4 x 3750X + VIRL.
Nice one, Sou. How's VIRL working out?
Data plane is working for L2VPN?