CCIE v5 Official Certification guide delayed, AGAIN!

CCIE v5 Official Certification guide delayed, AGAIN!

After the fucking shambles that is Secret Cinema's Back to the Future shows in London I got this email from Amazon:

Unfortunately, the release date for the item(s) listed below was changed by the supplier, and we need to provide you with a new estimated delivery date based on the new release date:

  Kocharians, Narbik "CCIE Routing and Switching V5.0 Official Cert Guide Library: 1 - 2"
    Estimated arrival date: October 06 2014

I know that the two have no relation to each other, but I need to vent.

So it looks unlikely that I'll be able to get Narbik to sign mine when I go to his class.

It really does feel like Cisco pushed the v5 release too early. The official training material isnt released yet and keep getting pushed back further and further. They might as well retitle it v6 and have done with it...

You can still order it from Amazon, and if you pre-order now you might just get it by Christmas!

(ok ranting over)

Cisco CSR1000v - Part 2: Connecting to GNS3

Following on from part one where we downloaded and installed the CSR1000v router in VirtualBox, it would be great if we can use it in GNS3. We can do thanks to GNS3s integration with VirtualBox.

 I have switched from my 4GB Windows laptop to my 32GB Mac now (we'll see why later on), but the steps are all the same.

Fire up GNS3 and head into the preferences. Firstly make sure that GNS3 can talk to VirtualBox, the details should already be configured for you, so click on "Test Settings", and hopefully you should get the green OK message as shown below:

CSR1000v and GNS3

If thats all good then head into the VirtualBox Guest tab. Click on "Refresh VM List", and then hopefully you'll be able to select your VirtualBox VM from the VM List above:

CSR1000v and GNS3
Give it a name and click on "Save"

CSR1000v and GNS3
Then click on OK to return to the main screen.

Click on the "End Devices" icon on the left hand side, it looks like a PC. In there will be a VirtualBox guest icon, which you can drag onto your topology, and you'll see a prompt to select a VirtualBox guest to use:

CSR1000v and GNS3

Once you select the CSR1000v VM and press OK you'll see it on the topology. Personally I like to change the icon to something more router looking. Before we fire it up we need to make a couple of minor edits. Firstly right click on the router and select "Configure", then select the router.

If "Reserve first NIC for VirtualBox NAT to host OS" is ticked, then untick it, and make sure that "Enable console support" is ticked:

CSR1000v and GNS3

Click ok, and now switch it on. The router light in the topology window should turn green. Give it a few moments and you should be ready to rock:

CSR1000v and GNS3

You can connect the CSR1000v to native GNS3 routers, and the two will communicate happily:

CSR1000v and GNS3
If you try an add another CSR1000v router though you will find that you cant. You can only have as many instances from VirtualBox running as there are instances, so in order to have two CSR1000v routers running in GNS3, we'll need to have two CSR1000v VMs in VirtualBox.

Shut down your existing router for the moment, and back over in VirtualBox, select the CSR1000v VM and right click on it, and then select "Clone".

A new window should pop up, and you can give it a new name, and reinitialize the MAC addresses of the cards (if you want).

CSR1000v and GNS3


Choose "Full Clone", and then click on "Clone".

Repeat this as many times as you want to have as many routers as you need. Remember though that each router takes about 2.5GB of memory, so memory can be used up pretty quickly running CSR1000v routers! This is why I switched to a more powerful machine!

Once you have created as many VMs as you need head back into GNS3. We'll need to rescan the VirtualBox VM list for it to be picked up, but this is just the same as following the first couple of steps we did to get the first CSR into GNS3. You can also choose to untick the "reserve" button here and tick the console button, then save the VM:

CSR1000v and GNS3


You can then add it to GNS3 and start connecting your topology up:

CSR1000v and GNS3
At the moment with a few normal apps running and the above routers memory and CPU usage is quite low:

CSR1000v memory usage

With enough memory you could run a whole stack of CSR1000v routers and have them play happily together. Fun, fun, fun!

GNS3 1.0 goes beta

GNS3 1.0 is now in beta. It's been fun watching the alpha, which was a complete redesign from the ground up, grow and expand, and now we have hit the beta stages.

So what's the difference in the beta, vs the alpha?

GNS3 1.0 Beta
Initially it doesn't look like much has changed on the interface front since the initial alpha, so let's dig a little deeper.

The change log shows the following:

Change Log for Beta 1 of V1.0
The GNS3 all-in-one installer automatically installs a 32-bit or 64-bit version of GNS3.
Base VirtualBox support (still some issues, most of them on Linux and Mac OS X).
Prevent users to set the port and VLAN settings to 0 on Ethernet swithes.
Fixed issue when spaces are in capture file paths.
Fixed bug with live capture on Windows.
Work around for the c7200 reload bug in Dynamips <= 0.2.13.
Fixed some inconsistencies when exporting configs.
The early release dialog is gone! 

What's on the menu?

The menu has some cool new things on it, such as "Cloud" and "VirtualBox"

GNS3 1.0 Beta menu

Its all about the Cloud these days

We have an option for "Cloud". But if you try and copy the link for "Create Cloud Account" you'll find that it doesn't go anywhere just yet. The only provider listed is Rackspace and they are pretty solid so it should be interesting.

GNS3 1.0 Beta cloud

Woo hoo VirtualBox!

VirtualBox is back, kind of. The menu items are all there:

GNS3 1.0 Beta VirtualBox is back (almost)

But it doesn't work just yet:

GNS3 1.0 Beta virtualbox errors

I couldn't find any vboxwrapper files in the GNS3.app, so I thought I would give it a go myself:
I started by doing a git clone of the vboxwrapper files (you'll need xcode installed to run git):
Stuarts-MacBook-Air:~ stu$ sudo git clone https://github.com/GNS3/vboxwrapper
Cloning into 'vboxwrapper'...
remote: Reusing existing pack: 15, done.
remote: Total 15 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (15/15), done.
Checking connectivity... done.
Stuarts-MacBook-Air:~ stu$ cd vboxwrapper/
Next we need to run the setup:
Stuarts-MacBook-Air:vboxwrapper stu$ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating vboxwrapper.egg-info
writing vboxwrapper.egg-info/PKG-INFO
writing top-level names to vboxwrapper.egg-info/top_level.txt
writing dependency_links to vboxwrapper.egg-info/dependency_links.txt
writing entry points to vboxwrapper.egg-info/entry_points.txt
writing manifest file 'vboxwrapper.egg-info/SOURCES.txt'
reading manifest file 'vboxwrapper.egg-info/SOURCES.txt'
writing manifest file 'vboxwrapper.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.9-intel/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install

creating build
creating build/bdist.macosx-10.9-intel
creating build/bdist.macosx-10.9-intel/egg
creating build/bdist.macosx-10.9-intel/egg/EGG-INFO
copying vboxwrapper.egg-info/PKG-INFO -> build/bdist.macosx-10.9-intel/egg/EGG-INFO
copying vboxwrapper.egg-info/SOURCES.txt -> build/bdist.macosx-10.9-intel/egg/EGG-INFO
copying vboxwrapper.egg-info/dependency_links.txt -> build/bdist.macosx-10.9-intel/egg/EGG-INFO
copying vboxwrapper.egg-info/entry_points.txt -> build/bdist.macosx-10.9-intel/egg/EGG-INFO
copying vboxwrapper.egg-info/top_level.txt -> build/bdist.macosx-10.9-intel/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/vboxwrapper-0.9-py2.7.egg' and adding 'build/bdist.macosx-10.9-intel/egg' to it
removing 'build/bdist.macosx-10.9-intel/egg' (and everything under it)
Processing vboxwrapper-0.9-py2.7.egg
Removing /Library/Python/2.7/site-packages/vboxwrapper-0.9-py2.7.egg
Copying vboxwrapper-0.9-py2.7.egg to /Library/Python/2.7/site-packages
vboxwrapper 0.9 is already the active version in easy-install.pth
Installing vboxwrapper script to /usr/local/bin

Installed /Library/Python/2.7/site-packages/vboxwrapper-0.9-py2.7.egg
Processing dependencies for vboxwrapper==0.9
Finished processing dependencies for vboxwrapper==0.9
So can we now run the finished file?
Stuarts-MacBook-Air:vboxwrapper stu$ python /usr/local/bin/vboxwrapper 
Traceback (most recent call last):
  File "/usr/local/bin/vboxwrapper", line 8, in 
    load_entry_point('vboxwrapper==0.9', 'console_scripts', 'vboxwrapper')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 318, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2221, in load_entry_point
    return ep.load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named vboxwrapper
Nope, so let's make sure that things are installed properly:
Stuarts-MacBook-Air:vboxwrapper stu$ python
Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from vboxapi import VirtualBoxManager
>>> g_vboxManager = VirtualBoxManager(None, None)
>>> print g_vboxManager.vbox.revision
91406
>>> exit()
At this stage I found the link that's mentioned below, so started to try those steps out:
Stuarts-MacBook-Air:vboxwrapper stu$ cd ~/Downloads/
Stuarts-MacBook-Air:Downloads stu$ cd vboxwrapper/
Stuarts-MacBook-Air:vboxwrapper stu$ ls
LICENSE   build   setup.py  vboxcontroller_4_3.py vboxwrapper.py
README.md  dist   tcp_pipe_proxy.py vboxwrapper.egg-info
Stuarts-MacBook-Air:vboxwrapper stu$ sudo cp vboxwrapper.py tcp_pipe_proxy.py vboxcontroller_4_3.py /Library/Python/2.7/site-packages/
Password:
So can we start the wrapper now?
Stuarts-MacBook-Air:vboxwrapper stu$ python vboxwrapper.py 
VirtualBox Wrapper (version 0.9)
Copyright (c) 2007-2014
Jeremy Grossmann and Alexey Eromenko
Using VirtualBox 4.3.6 r91406
VBoxWrapper TCP control server started (port 11525).
Listening on all network interfaces
Yes! We can! Let's try setting the vboxwrapper location to the new file and see what happens:

GNS3 1.0 Beta virtualbox wrapper configuration
Balls, I still get the same error:

GNS3 1.0 Beta virtualbox errors (again)
So with the new beta we can see a lot of features on the horizon, every so slightly out of reach, but hopefully, and given the speed at which the GNS3 guys are pushing out the updates, it won't take long for VirtualBox to be working again. I'd love to connect up some CSR1000v routers to some IOU routers and I am sure that this is just around the corner, yet in some ways though it's also very frustrating to be teased like this.

It's important to remember that this is still beta, so things may be limited in functionality, or missing completely. There are reports of getting virtualbox running on the new beta over on the forums, but that looks to be for Linux, and probably done by someone who has more of a clue about python than I do!

Cisco CSR1000v - Part 1: Install and Licensing

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").

Installing CSR1000v in VirtualBox

Give the VM at least 2.5 GB of memory

Installing CSR1000v in VirtualBox

It will need an 8GB hard disk

Installing CSR1000v in VirtualBox

And a serial port

Installing CSR1000v in VirtualBox

Set the CD rom drive to point to the ISO file you downloaded in step 1.

Installing CSR1000v in VirtualBox

Fire it up!

Installing CSR1000v in VirtualBox

The CSR should install onto the hard disk.

Installing CSR1000v in VirtualBox

 Once it has installed and rebooted we can see that we are running IOS XE 15.4

Installing CSR1000v in VirtualBox

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".

Licensing

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!

Impressed yet?

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.

New toys for budding CCIEs

I know I have been a bit slack on the blogging side of things for the last couple of weeks, but things have been really busy at work, and I am trying to finish off "MPLS for Cisco Networks", so I hope you'll understand.

Anyway there are a couple of new tools on the horizon for CCIE candidates, and for general Cisco networking fun.


Firstly there is VIRL, which looks like it should be with us by the end of the month (July 30th), possibly subject to change and delay but it should drop soon!
Secondly is the CCIE Lab Builder. No dates as yet, but it does look a lot like the old v4 interface made public. It will be cloud hosted and will run topologies on IOL (IOS on Linux), so in many ways it's the same as IOU, so layer 2 support will probably be limited (as it is in IOU). The downside is that it looks like it will be a paid offering, again no details as yet. I think it will be useful, but eclipsed by VIRL, which will be free (you just need to register on the Cisco Developer site.

It looks like there will be a plethora of tools for the CCIE candidate to build and play with networks, it's just a shame that the official guide hasn't been released yet!

Dammit!

There I was happily catching up with season 2 of Arrow last night when I heard a very loud crash coming from upstairs. I ran upstairs, checked in on the wife who had retired early after spending many hours gardening (and a few having drinks with friends), she was sitting upright in bed looking a bit scared. 

Bedroom looked fine. Nothing out of the ordinary in the spare bedroom, and family bathroom was still intact. 
So the source of the noise was either in the kids room or the study. There was no crying or noise from the kids room, and because of the amount of noise, and the lack of child-movable furniture in the boys room it was unlikely to stem from there.

This is what the study looked like when I opened the door:


The shelving you can see above usually resides a bit higher up, much more horizontal, and is usually fixed to the wall.


The CDs are usually on the shelves.



Loads more CDs, somewhere in there are two raspberry PI, a NAS, a switch, and some Star Wars Lego figures.

Earlier in the day the boys had gone upstairs, and I found them in the study playing with the figures. So, were they happily pulling on the shelving? Who knows, thankfully no toddlers were buried under the avalanche of CDs, or, more importantly, hurt by the shelves. They slept through it. Not saying it was definitely them, but they do like to play in Daddies office whenever they can. I had already removed the figures from the glass cabinet and put them out of reach on the shelves. But toddlers can climb. I found one sitting on my chair, which had not moved, so it's possible that the shelf support was used as some kind of toddler leverage mechanism. Seriously these two are like some kind of Mission Impossible duo, no matter what it is or where it is they will find it. Still, they get points for ingenuity. These same points get removed for messing with my stuff though. Don't get me wrong, I am not like Will Ferrell from "The Lego Movie", when they are older then they can play with my stuff, just they are still a little young. I did buy them some Spiderman Lego, but they are a little heavy handed with it, and get frustrated when they can't get the bits where they want them to go. But it's good for their dexterity, so I am happy to let them play with it. Just not in my office. It takes me long enough to put the cables back in the switches after they take them out. So the office is a bit of a no-go area for them.

I havn't had a chance to sift through yet. It doesn't look like anything in the network rack has been damaged. Which is good, because I really don't fancy having to replace that lot.

Not sure if the Star Wars figures made it through unscathed though. They are buried under a hundred or so CDs.