I’ve managed to get GNS3 Desktop installed, and have tested that my IOS for a 3725 or 2600 or 2691 router works.
How do I use the GNS3 WorkBench Exercises?
Let’s distinguish between Labs and Exercises – they work slightly differently – Labs continue your configuration from where you last saved them, Exercises have a pre-defined starting point that is always the same. The subtlety different lesson on How to use the GNS3 WorkBench Labs is here.
For this lesson, we will use one of the ICND1 Exercises. The process described here is the same for the ICND2 Exercises, and the Odom’s (and other) Examples.
Now in this lesson I am going to cover:
- How to to start a GNS3 WorkBench Exercise session
- How to use the VPCs application
- How to start the virtual routers
- How to configure the virtual routers
- How to save your configurations
- How to quit the GNS3 WorkBench environment cleanly
- How to continue a previous Exercise session
Task 1: start a GNS3 WorkBench exercise session
Double-click on the ICND1 Exercises icon on the Desktop, then double-click on the ICND1 2Routers exercise. This will start three processes:
1. The GNS3 application will start, and depending on the speed of your PC, it may appear sooner or later than the Instructions window. For now though, we need to focus on the Instructions window described below.
2. A page of instructions will appear in text format in a konsole window. This konsole window will become the main focus of your entire session, so take note of it. If the window is covered by the eGNS3 application, bring it to the front.
3. Notice that the Instructions Window has two tabs, Instructions, and VPCs. VPCs is the 3rd application that started when you double-clicked on the Linear2Routers icon.
Task 2: use the VPCs application
After you have read the Instructions, Click on the VPCs tab. Remember, clicking on the Instructions tab will bring you back to the instructions. Clicking on the VPCs tab will show you the VPCs window, and you should see that there have been two Virtual PCS configured with IP addresses. The Prompt showing:
indicates that your VPCs focus is Virtual PC number 1. There are 9 Virtual PCs, and you can switch to Virtual PC number 2 by entering the digit 2 and pressing . Note how the prompt changes to:
Your job in this exercise is to get the two PCs pinging each other. Lets start by making sure that your focus is back at PC #1 (type 1) and then enter the show command. This will show you the IP address and default gateway for each of the PCs.
Now try some pings. Firstly, ping your own IP address. That should work. Then ping your default gateway (that won’t work, we haven’t even started the routers yet) and then ping the IP address of PC#2 – that won’t work either, but you will see something interesting in the output. Examine my session below:
VPCS 1 >show NAME IP/CIDR GATEWAY MAC LPORT RPORT PC1 172.16.1.10/24 172.16.1.1 00:50:79:66:68:00 20000 30000 PC2 172.17.1.10/24 172.17.1.1 00:50:79:66:68:01 20001 30001 PC3 0.0.0.0/0 0.0.0.0 00:50:79:66:68:02 20002 30002 PC4 0.0.0.0/0 0.0.0.0 00:50:79:66:68:03 20003 30003 PC5 0.0.0.0/0 0.0.0.0 00:50:79:66:68:04 20004 30004 PC6 0.0.0.0/0 0.0.0.0 00:50:79:66:68:05 20005 30005 PC7 0.0.0.0/0 0.0.0.0 00:50:79:66:68:06 20006 30006 PC8 0.0.0.0/0 0.0.0.0 00:50:79:66:68:07 20007 30007 PC9 0.0.0.0/0 0.0.0.0 00:50:79:66:68:08 20008 30008 VPCS 1 >ping 172.16.1.10 172.16.1.10 icmp_seq=1 time=0.001 ms 172.16.1.10 icmp_seq=2 time=0.001 ms 172.16.1.10 icmp_seq=3 time=0.001 ms 172.16.1.10 icmp_seq=4 time=0.001 ms 172.16.1.10 icmp_seq=5 time=0.001 ms VPCS 1 >ping 172.16.1.1 host (172.16.1.1) not reachable VPCS 1 >ping 172.17.1.10 host (172.16.1.1) not reachable
Notice that the output for the ping to 172.17.1.10 shows the output “host (172.16.1.1) not reachable” rather than “host (172.17.1.10) not reachable” as you might expect, since after all you were trying to ping 172.17.1.10! Hopefully your mind is saying ‘Of course – before the Virtual PC could send a ping to 172.17.1.10, it would have to resolve the MAC address of its default gateway, and it tried and failed so THAT’S WHY the reply comes back “host (172.16.1.1) not reachable”.’
Task 3: start the virtual routers
It’s time now to focus on the GNS3 window. Bring this window to the front, and you should see the layout of the lab. If necessary, resize the sides of the window so you can see the entire topology. You can also zoom in and zoom out using Ctrl++ and Ctrl+–
Notice the three featured icons in the picture above. Click the Start all devices icon and observe that the icons for R1 & R2 in the Status icons section turn green to indicate that the routers R1 & R2 have now started. You will also notice that the interface status markers on the routers turn green as well.
Task 4: configure the virtual routers
Now with your routers started, click the Telnet to all IOS icon, and your konsole window will gain two new tabs (careful – don’t click on the Telnet icon more than once – if you can’t see you original konsole window, bring it to the front now).
Click the tab of the router you wish to configure first – R1 or R2, then click inside the window, and hit . Now you may have to be a bit patient here, as it may take some time for the routers to boot up, but since there are no saved configurations, the routers should soon start with the standard default blank configuration dialogue.
Would you like to enter the initial configuration dialog? [yes/no]:
Answer No, and go ahead and configure the routers with IP addresses, but at this stage without any routing. If you are not confident you can do this on your own, cut and paste the sessions below:
For router R1
enable config term hostname R1 interface fa0/0 ip address 172.16.1.1 255.255.255.0 no shut exit interface s0/0 clock rate 64000 ip address 192.168.8.1 255.255.255.252 no shut end write mem
and of course, router R2
enable config term hostname R2 interface fa0/0 ip address 172.17.1.1 255.255.255.0 no shut exit interface s0/0 clock rate 64000 ip address 192.168.8.2 255.255.255.252 no shut end write mem
Check that one router can ping the serial interface of the other router, and it would be a good idea now, to click on the VPCs tab and check that VPC 1 can ping its default gateway, and VPC 2 an ping its default gateway – of course they won’t be able to ping each other yet because you haven’t configured routing!
Task 5: save your configurations
Note that the past command you issued for each router was write memory (which executes a no-nonsense copy running-config startup-config) – in other words, you saved your configuration – but don’t get too excited, you haven’t saved it from within the GNS3 environment yet – so it may not be completely saved yet – you still have to export your configurations from GNS3 so that you can continue with this lab later. Note that not all Labs are set up to allow you to continue – check the last lines of the instructions to see. If (like this one) is says something like…
If you wish to save your configs and continue at a later time, make sure you do BOTH a) save your configs (using 'copy running-config startup-config') AND b) save your network file (click file->save) from GNS3. If you do this, you can continue your lab later by running the 'startup.continue' script from the '/opt/GNS3/Project/ICND1 2Routers' directory.
…then you will be able to save now and come back to the lab later. But first, you will have to export your configurations.
For now, I’m going to tell you that the easiest way to export your most recently saved configurations is to click File->Save from within GNS3. This will export your configurations to the configs directory of your project, and you should see the following output in the Dynagen management console for Dynamips window at the bottom of your GNS3 workspace.
Now if you have saved your configurations, and exported them (saved from GNS3) then I am going to next explore how you quit the GNS3 WorkBench environment and start up again from where you left off.
Task 6: quit the GNS3 WorkBench environment cleanly
Quitting is a 3 step process (you can skip step 1, but I want you to see what happens)
Step 1 is to stop the routers. This can be done by clicking the big red Stop every device icon at the top of your GNS3 workspace, or (in version 0.7.3) by clicking Device->Stop.
Notice that when you stop all the devices, your console sessions for each of the routers disappears from the main konsole window.
Step 2 is to quit GNS3 – this is easily achieved by clicking File->Quit in GNS3
Step 3 is the step most people forget, and then they come to grief if they try to start another session. This is the step to close the konsole window where the Instructions are displayed and the VPCs session is running. This can be done 3easily by clicking File–>Quit form the konsole application.
Task 7: continue a previous session
NOTE: The method described below is relevant for many of the Exercises. Not ALL exercises will allow you to “continue”, and the Standard Layout labs use a different method described here.
Recall that earlier, we had read in the instructions that:
…you can continue your lab later by running the ‘startup.continue‘ script from the
‘/opt/GNS3/Project/ICND1 2Routers‘ directory.
Now back at the desktop, double-click the icon labelled GNS3 Files – More exercises here. This is actually a folder, and contains shortcuts to all the /opt/GNS3/Project directories.
Find the ICND1 2Routers shortcut, and double-click on it. This time, the program won’t start, but you will get to see some of the scripts and configuration files that live behind the scenes of GNS3 WorkBench.
Locate the startup.continue script – it has a little red heart icon on it.
When you find it, double click on it, and you will be presented with 4 options. Run in Terminal, Display, Cancel and Run.
You should choose Run, but it you choose Run in Terminal the script will still run, but you will have to confirm some of the actions, but you can see a little more clearly what is going on BUT you have to be careful you don’t close the terminal window or it will close every program it spawned – including GNS3.
This time when you start the routers, they should start with the same configuration they had when you last saved your configurations earlier, and you can complete the exercise.
Here’s the config you can paste in to complete the exercise using RIP – you might prefer to finish the exercise using static routes instead.
enable config term router rip version 2 network 172.16.0.0 network 192.168.8.0 end write mem
enable config term router rip version 2 network 172.17.0.0 network 192.168.8.0 end write mem
Once you have completed the configuration, test if your PCs can ping each other now, by clicking on the VPCs tab and using the ping command, and also try the tracert command:
VPCS 1 >ping 172.17.1.10 172.17.1.10 icmp_seq=1 timeout 172.17.1.10 icmp_seq=2 time=9.124 ms 172.17.1.10 icmp_seq=3 time=9.974 ms 172.17.1.10 icmp_seq=4 time=9.967 ms 172.17.1.10 icmp_seq=5 time=9.235 ms VPCS 1 >tracert 172.17.1.10 traceroute to 172.17.1.10, 64 hops max 1 172.16.1.1 5.425 ms 10.867 ms 18.088 ms 2 192.168.8.2 8.902 ms 10.815 ms 6.281 ms 3 172.17.1.10 9.824 ms 16.034 ms 14.760 ms
Fantastic. You have completed the first part of the exercise – I’ll leave you on your own to complete the configuration so that you can telnet from one router to the other, and to shut down GNS3 cleanly as described in Step 6.
End of Lesson
Hi Chris and everyone,
I Could finally complete the goals of the SDM DHCP & NAPT.
I really like all those exercises, every time I learn a lot of things.
Finally I figured out how to handle most things in the SDM. The one that I really miss: I could never configure the IP for the serial interface of R1, had to do it at the console.
I also tried the “Cisco configuration professional”. It looks much better in that you do not need to downgrade you Java runtime. But it tells right from the beginning that it cannot handle all features of the 3725. Nice GUI though.
In the exercise, I also had to change the config of the other router, that was not in the instructions.
Is it always like this in the exams? some instructions are left out to challenge the student?
Good idea to try the “Cisco configuration professional” – it has some huge improvements over SDM.
If you completed the exercise successfully (with NAPT working using the IP address of the Serial interface of R1) you do not have to change anything on the SP_Router.
This exercise is probably a little more challenging that what you would expect in the exam because you start with a completely unconfigured router. My experience in exam simulations has been more along the lines of configuring just one or two things – or fixing one or two things. However, I have not sat the new CCNA exams, so I have no idea what they are like.
I started ICND1 exercises, i works like a charm. However I hit a roadblock with SDM DHCP & NAPT Exercise. It looks like I cannot get past the password setup. Whether I use the telnet from my host PC or the console in GNS3, no luck.
I was trying to find some hints in the blog, nothing turned up either.
I wonder if my image could be the problem? I already tried to install 2 different IOS.
c3725-adventerprisek9-mz124-15.image and then
I was not able to find the T10. If this is the problem, I will have to pull some strings when I go back at work. (I was trying this during a holiday).
I get the following console output:
To clarify The ^ marker comes under the “s” of username
Any hint would be welcome.
The SDM lab was designed to be completed using the SDM – not the console – you don’t need to open the console at all. What you will have to do is to make sure your host PC (the one running VMware) has an IP address in the range 10.10.10.2-10.10.10.6 and a default gw of 10.10.10.1.
You will then (after starting the routers in the GNS3 WB exercise) run SDM on your VMware Host PC – use the default username/password of cisco/cisco
Thanks for the answer, it was really a case of read the friendly manual. A lot of those things are new for me, I need to focus more.
So I installed the SDM, with great pain: It really works only if I have the correct combination of browser and java runtime. For example SDM refused to start with firefox, and then IE as well, unless I installed the java 6u6, as I found recommended from someone.
But now I am stuck again; if I save to the startup config, although the SDM states the command was successful, rebooting the routers, I am back to square one. The router would only accept the cisco/cisco credentials and asks me again to change the PW.
Is that part of the exercise? I saw in one of your blog articles that you sometimes add extra difficulties (with evil laugh…) Difficult, I dont know if am am chasing installation or tool problems, or something else.
SDM is really a pain – thank goodness it has now been removed from the new ICND exams (so doing this exercise is really only academic now).
You can actually get into a lockout situation with SDM – so you really do have to change the password right up. Now as far as “rebooting” goes, you have to understand that Exercises (like this one) will reset the lab every time you run it, so if you do the exercise, save your config, and want to continue from where you left off, you will have to run a “continue” script file – in your case it will be /opt/GNS3/Project/SDM-DHCP & NAPT/startup.continue – eg:
If you have the exercise running, and you want to test a “reboot”, save your config, then right-click on the router and choose “Reload”
how can J check answers for labs..is there some file J can load into GNS3 or something like that?
Most of the exercises have a goal – such as being able to ping from one vPC to another – much like the simulations in the exams. Paul Meng has done a lot of work improving vpcs, so I’ve added a couple of vpcs scripts to check a couple of labs in the next release. In the meantime I’m afraid it is very much a self-check exercise. Unfortunately this can be tough when you are just learning!
Thanks so much for your quick reply. I’ve really hit a breakthrough. Was able to get through the exercise w/ some googlin’ assistance, and I now understand lots of network perspective I’ve worked around for a long time, but now I can follow even better. Its a great way to discover. A lesson/exercise guide would be good, but that’s what courses are for. The way GNS3 workbench puts the tools in front of you is what counts. I can speed up some skill development of my own. Thanks again!
I’m sure folks come and go, with comments here… but I did have one question.
Is there an order to the exercises, from basic to advanced?
I’m not really trying to get certified with CISCO, or what have you… but I need to learn networking, and I don’t have an exercise guide. Since this is a great environment (the workbench) I thought I’d use it, and believe me… already having learning breakthroughs.
So… is there an order to follow?
Thanks so much for your hard work. (I got the network bug… officially).
There is no particular order, although ICND1 exercises are probably easier than ICND2. The most important exercise to master as a beginner is ICND1->ICND1 2Routers. In that exercise you ahve to configure two routers from scratch so that the PCs on either side can ping each other, and be able to telnet from one router to the other and reach privileged mode. This means you have to configure the interfaces with ip addresses, bring the interfaces up (no shutdown) and then either use static routes or RIP (the exercise is designed so RIPv1 won’t work!) to make teh ping possible. You then have to configure appropriate passwords to allow the telnet to happen.
Good luck, and when you’ve finished all these, add your own variations, or better still, design some of your own.
The net mask values for the router interfaces are not same as the actual exercise (should be /30 instead of /24) in the appliance. Though it is not an big issue as any one should be able to spot it if they know how to configure a router. Appreciate if could correct it beginners like me to verify their answers.
Thanks for letting me know Harry. As you can imagine, errors like this are very hard to track down.
Chris – RedNectar
Hi Chris ,
I have found a way to add new hard desk to UBUNTU as below (it is copied from this link ) :
First thing to do is install the second hard drive into your computer. I assume you already know how to do this. One thing I have learned with IDE drives and ubuntu, always use the Ultra DMA 80 conductor IDE cables on the drives. If you don’t, you will find all kinds of disk errors in your log files.
For the second hard drive, we need to create partitions. To do this, we use the following command: sudo fdisk /dev/sdb
After the fdisk menu comes up, you might get the following warning message:
WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to switch off the mode (command ‘c’) and change display units to sectors (command ‘u’)
Command (m for help):
Press “u” like it is telling you. Then press “n” to create a new partition. It will respond with:
p primary partition (1-4)
Tell it “p” for “primary partition”. Next it will ask you which partition (1 – 4). In my case, I just want one big partition, so I just accept the default responses for the first and last sectors.
Next we need to tell fdisk which type of formatting we want. As of this writing, we want type code 83 for Linux. For a complete list of all drive types, just press “L”.
When everything is configured press “w” to write the partition changes to the disk. Important! If you don’t write the changes to the disk, the changes won’t be saved! Finally press “q” to quit fdisk.
Next run partprobe to update the kernel with the changes we have made with the following command: partprobe in my case, my device name is /dev/sdb.
Next, we need to format our new hard drive. To do this, enter the following command: sudo mkfs /dev/sdb1 -t ext4
Another disclaimer: like with fdisk before, you need to make sure you are using the correct hard drive with this command. It must be the same drive that you referenced in your fdisk command.
After you have your second hard drive installed in your computer, go into your computer’s BIOS and make sure it is recognized there.
Next, boot the computer up, and see if Ubuntu can see the second hard drive. To do this, open up the terminal window and type the following: sudo fdisk -l
You should see the following:
Disk /dev/sda: 41.1 GB, 41110142976 bytes
255 heads, 63 sectors/track, 4998 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c1e50
Device Boot Start End Blocks Id System
/dev/sda1 * 1 4905 39399381 83 Linux
/dev/sda2 4906 4998 747022+ 5 Extended
/dev/sda5 4906 4998 746991 82 Linux swap / Solaris
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd89ff2c4
Notice that the second hard drive (/dev/sdb: 500.1 GB) doesn’t show any partitions like the first drive does. (/dev/sda: 41.1 GB)
If, on the other hand, there is already data on your new hard drive,(you will see the partitions) and you want to keep the data, just skip the this part, as well as the formatting of the hard drive.
DISCLAIMER: this is what MY computer tells me for my second hard drive. You need to make sure you tell it the correct hard drive for YOUR computer as displayed in the prevous fdisk command. If you incorrectly tell fdisk the wrong drive you will destroy your data! You have been warned!
Next you need to create a directory for a mount point. I usually create these directories in the /mnt directory (as that is what it is for..). Since in this case, my hard drive is labeled sdb, and I have (in this case..) put one partition on this hard drive, I am going to create a directory called, sdb1. If you have chosen to place more than one partition on your new hard drive, then you will need to create a separate directory for each partition. The command for this is:
sudo mkdir /mnt/sdb1
Next, you need to make this folder writable. to do this, use the following command:
sudo chmod 777 /mnt/sdb1
Again, use the appropriate names for the hard drive you are using above.
Next, let’s test things out by mounting the drive:
sudo mount /dev/sdb1 /mnt/sdb1 -t ext4
Now let’s see if we can write a file on to the new drive, like so:
touch /mnt/sdb1/test.txt then ls /mnt/sdb1/*
By executing the last command, you should see the test.txt file. If so, congratulations, you now have a second hard drive on your computer. However, this is only a temporary mount point. The next time you reboot your computer, it will be gone. If you want this new hard drive to be permanently mounted, (who doesn’t?) you need to edit your filesystem tab file like this:
sudo vi /etc/fstab
The vi editor will load and show the contents of the fstab file. It will look something like this:
# /etc/fstab: static file system information.
proc /proc proc defaults 0 0
UUID=0654cdd0-480c-4ebd-b9f1-c153be45a259 / ext4 defaults,errors=remount-ro 0 1
UUID=bf55d909-3ece-44e5-8622-6d08ef034c9f none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec 0 0
at the end of the file, add a line similar to following line with the appropriate folders for the mounting points you used previously. (these are mine..)
/dev/sdb1 /mnt/sdb1 ext4 defaults 0 0
Save this file. You can reboot your computer if you like, or just use the following command:
If you have done everything correctly, you will have a second hard drive. Enjoy your new hard drive in Ubuntu
Currently the issue is /VAR is only 900MB free and the new desk does not added to /VAR . Need to expand /var to have at least 2GB.
What is your advice ?
Thanks for at least starting to sort this out – I began looking and couldn’t find a simple answer – and at the moment I don’t have a a PC to practice on (I’m away form home) so it will be a few days before I get another chance to look at it. Thanks for sharing the info you did get!
Hi chris, good morning…
Thank you for your great effort and all the job you’ve done to make this project.
I have made my topology.net file and started to run it with GNS3 , the .net file has 14 devices , I faced an error message about low desk space while I am pressing on Start ALL Routers . I have tried to increase the harddesk size by VMWARE but the VMWARE says that the size is pre-allocated .
Could you check for it and reply .
There is a way to increase the disk size – I”ll check it out and post it back here.
Thank you Chris ,
I ‘ll be waiting for it , I need to add around 2GB more .
Hi chris, good morning…
just a stupid question to satisfy my curiosity!
gns3 workbench is good and all included 1). GNS3 0.7.3 2) VPC 3) ubuntu
now is it possible to connect routers configured in ubuntu ( lets say we have 4 routers in ubuntu i.e. inside our vmware) with 4 routers that I am running in gns3 which is installed on my laptop having Win7 OS?
the reason is to utilize less memory and use more no. of routers in different environment. pls dont waste your time if its a stupid question but spend your time replying me from your busy schedule if it make a sense with my stupidity
Thanks for reading, JD
Yes – you can run routers on multiple PCs and there are several options to join them.
One way is to configure multiple hypervisors (see http://www.gns3.net/phpBB/topic306.html)
Another is to simply link them through the ethernet port – connect your routers to a cloud, and set the destination of the cloud a NIO UDP port on the other PC’s IP address (and on the other PC connect your router to a NIO UDP port on the VMWare’s Ubuntu IP address)
Can u please tell me how to use VPCS 20a in GNS3 under ubuntu
Thanks in advance
Kishore, To install vpcs v0.20a on the GNS3 WorkBench, follow these steps:
From within your GNS3 WorkBench environment, start Firefox and browse to http://wiki.freecode.com.cn/doku.php?id=wiki:vpcs
Click on the download link and choose to open with
Archive Manager (default)
This will show a folder called vpcs-0.20a. Double click on the folder to open it
You should now see a list of files. Find the file vpcs32.linux. Right click on it and choose Extract
Choose the target folder to extract to as /opt/GNS3/vpc
When the extraction has completed (about 0.1 secs) click on Show the files from the Extracting files from archive dialogue.
You should see the files in the /opt/GNS3/vpc directory appear.
Find the file called vpcs, right click on it and rename it to vpcs.old
Find the file called vpcs32.linux (the one you just extracted) and rename it to vpcs
Now right click on the vpcs file and select Properties
Click on the Permissions tab and make sure the Allow executing file as program check box is checked.
Close any other windows.
Next time you run a lab/exercise, you will be running with vpvs v0.20a
Note that the echo command in vpcs v0.20a is different to previous versions, so we are not finished yet:
From the desktop, open the link to GNS3 Files – More exercises here
Find the Acme2Router.NAPT exercise and open it
In this directory you will find 3 files with a name beginning with Instructions
Edit each of these files, and change the lines:
ANd of course make sure you save each file 😉
Now navigate to the folder /opt/GNS3/Project/SDM-DHCP & NAPT
Find the file Instructions, and edit it so that the line:
And again, make sure you save the file!