In this tutorial I will show you how to properly create virtual router inside of GNS3 simulator. From the upper left menu, click Edit, then Preferences: Under Dynamips and then IOS routers, select New to add new Cisco IOS router: Then, browse your machine for Cisco IOS image. In this tutorial, I’m using IOS version 12.4 for Cisco 7200 Series. Working Cisco IOS for GNS3. Cisco IOS GNS3 – Srijit’s Blog. All the IOS, IOU, Nexus and other images has been updated, checked and verified with latest GNS3 & GSN3 VM. Including Windows, Linux, and Mac OS X. In order to provide complete and accurate simulations, GNS3 actually uses the following emulators to run the very same.
. Introduction I’ve been meaning to play with for sometime. One of the administrators of the Quagga Project is an old friend of mine - I’ve had many debates with him over IRC, Facebook and Twitter over the years. Yet despite my interest in the networking field, I’ve not spent any time actually working with Quagga. This tutorial presupposes some basic knowledge of Cisco networking, Linux, GNS3, and Virtualbox. This means that in order to follow this tutorial you will need the following on your machine. By the end of the tutorial you will have configured OSPF and BGP (IPv4 only) and established full connectivity between three hosts.
![Download cisco ios images for gns3 Download cisco ios images for gns3](/uploads/1/2/5/4/125489891/684340054.png)
Additionally, you will need a Cisco IOS image to use with GNS3 for the Cisco elements. An base install.
For this example, I’m using Ubuntu 16.04.1 LTS. Versions. 18th Feb 2017 - First draft published online. Create the Quagga Server I have a very basic (and by basic I mean default install, no services at all) Ubuntu installation in my VirtualBox environment. I use this to help clone Ubuntu setups.
This VirtualBox VM is setup so by default it has access to the internet through the single network interface. The first step is to clone this server in VirtualBox - copying the images. This is done by selecting the Ubuntu Base image, right clicking on the entry and selecting clone.
On the first page you need to define the name of the VirtualBox server (this is important, so hold onto that information for later): I typically go for Full Clone, but you can go for Linked Clone if you know what you’re doing: Once that’s complete, boot up the VM. Log into the VM and then run the command. Sudo apt-get install quagga And you now have Quagga installed on the machine. The next step is to halt the quagga server, and then change the network configuration. If you right click on the server, select Settings and go to Network you will see that Adapter1 is enabled, and attached to NAT. If you select Adapter2 you will see it’s not attached to anything.
Before we move on, we need to detach the first adapter as by unchecking the Enable Network Adapter box (Alternatively, you can set this to Generic Driver if you want, but GNS3 will do that for you anyway in the next stage). Finally, we need to add the server to GNS3.
In GNS3, go GNS3-Preferences-VirtualBox VMs and select New. A Dropdown list of all the VMs in Virtualbox will be shown and you can select the instance you’ve installed Quagga on. However, this typically adds the VM with a single interface - you need multiple interfaces for the lab set so select the VM, then click Edit and on the Network screen, increase the number of Adapters to 4. GNS3 Topology / IP Allocation. Before we go on, the next step is to layout the topology for this lab.
As we’re trying to cover both OSPF and BGP, we will set up three Cisco routers as well as the Quagga router: In the diagram above, the Quagga router is the Grey router. R1, R2 and R3 are all Cisco routers.
IP Allocations are as follows: Subnet Hosts 192.168.1.0/24 Host 1 to R1 192.168.2.0/24 Host 2 to R2 192.168.3.0/25 Used for Loopbacks on R1 and R2 192.168.3.128/30 R1 to Quagga router 192.168.3.132/30 R2 to Quagga router 172.16.1.0/24 BGP Peering LAN between Quagga and R3 172.16.2.0/24 Host 3 to R3 172.16.3.3/32 Loopback on R3 R1, R2 and Quagga are all in AS65001 and will use OSPF for dynamic routing accross the PtP links. The routes in AS65001 can all be summarised under 192.168.0.0/22 and this summary route will be used in BGP peering between Quagga and R3.
The routes with AS65002 will be advertised to the Quagga router, which will then redistribute those routes into the IGP to deliver full connectivity. We won’t go into details on how to setup the Ubuntu Hosts and I’m simply supplying the Cisco Router configurations (, and ) Within GNS3, I set things up so that Ethernet1 on the Quagga device connects to R1, Ethernet2 to R2 and Ethernet3 to R3. Note though that as Ubuntu 16 uses systemd, the interfaces aren’t eth1, eth2 and eth3. Configuring Quagga Quagga is not a single server on a Linux box, but actually consists of several seperate daemons, each running a particular routing protocol. By default, none of the daemons are configured to run so the first thing we need to do is turn on the specific daemons we require. Using your preferred editor of choice (vim, emacs, pico) edit /etc/quagga/daemons to read as follows. Sysctl -w net.ipv4.ipforward=1 If this has all been done correctly, it should then be possible to connect and manage the quagga instances using vtysh.
This moves you from the UNIX command line into a more Cisco IOS style of environment. However, there is one last niggle. For some reason, the vtysh interface defaults to using less as its pager of choice. You will find it annoying hitting q all the time so I suggest changing the pager to use more. You can do this from the command line by executing the following. Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 172.16.1.3 4 65002 10 10 0 0 0 00:06:06 2 Total number of neighbors 1 ubuntu# show ip bgp BGP table version is 0, local router ID is 192.168.3.134 Status codes: s suppressed, d damped, h history,.
validbest, = multipath, i internal, r RIB-failure, S Stale, R Removed Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path. 172.16.2.0/24 172.16.1.3 0 0 65002 i. 172.16.3.3/32 172.16.1.3 0 0 65002 i. 192.168.0.0/22 0.0.0.0 0 32768 i Total number of prefixes 3 ubuntu# show ip bgp nei 172.16.1.3 routes BGP table version is 0, local router ID is 192.168.3.134 Status codes: s suppressed, d damped, h history,. validbest, = multipath, i internal, r RIB-failure, S Stale, R Removed Origin codes: i - IGP, e - EGP,? Thomas@ubuntu:$ ping -c 5 192.168.1.10 PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmpseq=1 ttl=61 time=79.2 ms 64 bytes from 192.168.1.10: icmpseq=2 ttl=61 time=67.3 ms 64 bytes from 192.168.1.10: icmpseq=3 ttl=61 time=77.6 ms 64 bytes from 192.168.1.10: icmpseq=4 ttl=61 time=74.6 ms 64 bytes from 192.168.1.10: icmpseq=5 ttl=61 time=80.1 ms - 192.168.1.10 ping statistics - 5 packets transmitted, 5 received, 0% packet loss, time 4007ms rtt min/avg/max/mdev = 67.353/75.798/80.153/4.638 ms thomas@ubuntu:$ ping -c 5 192.168.2.10 PING 192.168.2.10 (192.168.2.10) 56(84) bytes of data.