Building a lab to test out configurations for internetworking protocols and features (especially new ones) is an indispensable step toward successfully introducing those protocols and features into a production network. A fringe benefit of such a lab is the opportunity to play with, and learn the subtleties of, previously undeployed protocols and features such as IPv6.
Having a network to repeatedly build, validate, and break configurations on–with no risk to production traffic–and learning all the while, is thus both a necessity and a luxury.
The challenge is often in cobbling together the gear, space, and power required to build a lab with enough nodes to support some worthwhile configurations.
What if you could run a virtual lab, one containing multiple emulated router and host instances, on your desktop or laptop? What if you could use that lab to safely model an IPv6 network and gain some (virtual) hands-on experience with IPv6?
Well you can of course!
According to its website, GNS3 is a “graphical network simulator that allows simulation of complex networks” (simple networks too!).
GNS3 uses Dynamips under the hood. Dynamips has provided the basic functionality of Cisco IOS emulation via PC since around 2005. Though now unmaintained (and with new versions of Cisco IOS being limited to the ISR platforms) the user community for its graphical interface front-end is still highly active.
And what an interface!
GNS3 allows you to drag and drop router, basic Ethernet/ATM/Frame-relay switch, and host instances into a topology map then connect them by dragging links between them. Line cards can be added or changed for router instances via drop-down menus. The topology and subsequent configurations are all saveable with one click. Basically, all the features of Dynagen (the original text-based front-end for Dynamips) that required laborious configuration in order to build a useful topology have been given simple equivalents in an attractive GUI that works on Windows, Mac OSX, and Linux.
There are lots of other features such as the ability to connect the simulated environment to real networks, emulation of JunOS, and integrated packet capture using Wireshark. The documentation is here so dive in (if you haven’t already). Then once you’ve got GNS3 working check back frequently for the next installment of this post where we’ll walk through configuring a simple IPv6 network using a simple topology of Cisco routers* and VPCS emulated hosts.
I’m interested to hear in the comments what folks might be using, real or virtual, to model IPv6 environments as well as any of the noteworthy challenges or successes they’ve had.
*Note: I’ll be using Cisco 3725 routers running 12.3(4)T4. Please remember that Cisco IOS is proprietary software that is not provided with GNS3 so you’ll need a Cisco CCO login with permission to download IOS. If you want to use different routers it shouldn’t make a difference to the configurations we’ll be using–just make sure you grab a version of code that supports IPv6.