GNS3 is a excellent platform to emulate Cisco routers, however the emulation of Cisco Catalyst switches is not supported due to the impossibility to emulate ASIC processors used in those devices. You still have the possibility to configure common switching features using the NM-16ESW EtherSwitch card in a router, which is fine for people working on their CCNA or even CCNP certifications but this provides a too limited switching environment for CCIE candidates and networking personnel wanting to make more advanced switching labs.
The good news is that you can use GNS3 to connect your virtual devices with real network hardware, here Cisco switches. There are globally 2 methods, each with 2 options to achieve this. We will explain how to implement them.
The first method is to bind every virtual router interface – that need to be connected to a switch – to a dedicated physical interface on your host. Each dedicated interface then connect to a real switch port.
The second method is to create a 802.1Q trunk between your virtual network and a physical “breakout switch”. Each virtual router interface gets assigned to a VLAN (tagging occurs on the host). The breakout switch receives tagged traffic via the single physical trunk link and distributes the VLANs accordingly to real switches.
Note that if you plan to configure one of these method to study for your CCIE Routing & Switching, you will need about 12 connections from the GNS3 virtual routers to your real switches.
Before starting to read about the different options, you can check how to console into your switches on Windows, Linux and Mac OS X.
Options for the first method (dedicated interfaces)
Options for the second method (802.1Q trunk)
We don’t specifically recommend a method or option over another. What method and option you will pick depends mostly of the pros and cons we described as well as to what hardware you have access to and your budget. So please do your homework before making your final decision and start buying anything.
What if things don’t work as expected? Well here Wireshark and Cisco debug commands are of your best friends. With Wireshark you can capture in GNS3 before frames are interpreted by IOS instances, capture on your host interface and with debug commands you can check what traffic your Cisco virtual routers and real switches actually get. All these possibilities for troubleshooting, this is more than a common network, so think about it and take advantage of it!