- In the previous video, we started the download process
of GNS3, we started the opening of the application
for the very first time, and we went through the initial
steps of the setup wizard, where all of the different
applications, like GNS3, Dynamips, Wireshark,
were all downloaded and installed into our laptop.
So now we're gonna continue that process
and see what the next steps are, 'cause we're not
quite ready yet to create our virtual topologies.
So, next thing is, we're gonna hit the Finish button,
and what you're not seeing is that there's a screen
on my laptop, basically just a web browser that will come up
from GNS3 saying "Thank you for downloading our software!"
And then, this box will come up.
So now at this point, we have a choice to make.
So we can either run GNS3 on the local server
or within a virtual machine, so let me just talk
about that real briefly here.
First of all, if your primary reason for using GNS3 is that
you just wanna create Cisco topologies, you wanna practice
Cisco IOS command line, routers and you wanna
connect them together, then really all you have to do
is select the Local Server option,
which is not selected by default, right there.
And what Local Server simply means is that GNS3
will be running on your laptop just like a normal program,
just like Microsoft Outlook or Google Chrome,
or anything else you've got running.
It'll just run directly on there.
And quite frankly, if you're just doing
basic Cisco topologies, that's probably
the preferred way to go.
Now if you're a more advanced user, then you probably
wanna select the local GNS3 virtual machine.
Now, this will also require that you've already downloaded
and installed either VirtualBox or some flavor of VMware,
because the virtual machine will use VirtualBox or VMware
as sort of like the engine that's running everything.
Now, like I said, if you're just running
simple Cisco topologies with routers and switches,
you don't really need to go the extra distance
of doing the virtual machine, there's a lot
of extra steps involved with that.
But, if you're more an intermediate or advanced user,
and you wanna start doing things like,
okay, I want to pair up my virtual topology
with a Cisco ASA, some kind of a firewall,
or maybe I wanna use IOU or L2IOU,
and I wanna pair that up with my virtual topology.
In those particular cases, now we have to start
getting virtual machines involved.
But that's more complex stuff, and we're not
gonna cover that in this particular series of videos.
So to keep things simple, I'm just gonna install it
as a local server, directly on my laptop,
no virtual machines necessary.
And now we get to the point where we get to choose
what IOS image we want to import into GNS3.
So we select Finish, and now we have a box that comes up
that says, it's probably gonna look like this for you,
if you've done this the very first time.
And here's where you get to browse for wherever you've
downloaded your Cisco IOS software to.
So I'm gonna browse, and my particular case,
I've got my IOS images located in an external hard drive
called Cisco IOS, and there they are.
Now let me show you something that's kind of interesting.
In previous videos, I talked about that GNS3 only supports
certain software images, it doesn't support every single
router out there that Cisco does.
Now, what if you had ignored that, and you downloaded
a Cisco IOS software image that GNS3 didn't support?
What would happen?
Well, let's take a look at that.
I already know in advance that the 3845, at present,
is not supported by GNS3, so I'm gonna go ahead
and select that intentionally.
I'm gonna click Open.
Okay, and then it says, all right, so basically it wants to
move that IOS into a working directory
that GNS3 can access more quickly, so I'll say yes.
No error messages yet.
Click Next, and then I get the error message,
where it says the IOS image for that particular platform
is not supported by this application.
So, even if you didn't do your research ahead of time,
you'll get that error message.
Now hopefully, you didn't spend a lot of time and money
downloading an IOS software image
that ultimately you can't use in GNS3.
Now in my particular case, I'm gonna use a 3745 image,
which I've already downloaded and got here.
Now before I leave the screen notice there's
a little box here that says "This is an EtherSwitch router."
Once we get into the world of switching with GNS3,
we'll see that we've got two sort of high-level choices.
Actually, we have three choices, but for the basic world
of switching, there's two choices.
The two choices are, GNS3 comes with sort of like
a built-in, very simple switch.
Like I talked about in the previous video, I talked about
the virtual PC simulator that comes built-in.
Well, that's not a full-fledged PC, that's not running
Windows or anything like that, it's basically a real
stripped-down PC that just allows you to do like
TCP and UDP streams, and some ICMP, and stuff like that.
Well similarly, there's something called a built-in node,
which is a switch node, and if you select that,
you can select VLANs on there, you can select
802.1Q trunking, and that's about it.
So there's no command line, it's all GUI-driven
with little dropdown boxes and stuff.
So for simple switching, if you just wanna connect
some routers with a switch, and you don't really care
about actually configuring switches,
that's your easiest option.
Now, if you wanna get a little bit more experience,
which you probably will, actually configuring
the command line for switching commands, like configuring
a VLAN in the command line, configuring VTP,
modifying some of your spanning-tree parameters.
Well, then your next choice is to use something
called and EtherSwitch module.
I'll talk more about that in detail, but of all
the Cisco routers that GNS3 supports, some of them,
like the 3745 that I'm gonna select here,
support that particular module, and it's actually a module
that in a real router you would slip in, it actually has
16 ports on it, and it's like a little mini switch
that you sort of slide into an empty slot in your router.
So, in this particular case, if that's what I wanted,
I would actually click that box.
So, what I'm gonna do, I'm actually gonna do this twice.
The first time, I'm just gonna import this
as a normal router, without that module.
So I'll hit Next.
Actually, you know what, let's make it simple for ourselves,
because even the EtherSwitch router, even though it's got
that module in it that's the EtherSwitch,
it also has other module slots available for like,
FastEthernet cards, or routable interfaces,
serial interfaces, so to make things simple,
let's just have, well, just to show you I'll have a router
and an EtherSwitch to show you the variety.
But what I was going to say was, you could just have
every router in your topology as an EtherSwitch,
and you could use the switching module in some of them,
and you could not use the switching module
in others of them, but all of them could have
serial interfaces and stuff like that, but to show you
the difference, I'll just keep on going here.
Now, what's kind of interesting here is, in the process
of creating these videos, I've installed and uninstalled
GNS3 multiple times, and even though I've done that,
it's remembering some of the stuff I've done previously.
If you're doing this for the very first time, chances are
it's not gonna default to 256 megabytes of RAM.
I think it actually defaults to 128 megabytes of RAM.
So you're gonna wanna verify, like I said in some of the
previous videos, what the RAM requirements are
for your software image.
Now in my particular case, with this 30--
Actually, 3845. Nope, that's wrong, I don't want a 3845.
That is the wrong image.
So let's go ahead and use the existing image.
It remembered this, even though I've installed
and uninstalled everything.
3725, there we go. There we go, 128 megs of RAM.
That is wrong, I need to double that
to 256 megabytes of RAM.
Then click Next.
And now here's where I get to select what modules
or port adapters I want in my chassis.
And so, the nice thing about this is, y'know,
a question I had when I was first learning about GNS3 was,
I wondered "Well, if I fully load this thing, if I populate
"every slot with something, is that gonna hurt things?
"Is that gonna slow it down in some way?"
And actually, it doesn't.
I was actually told by the GNS3 developers itself
that you can do that, there's no harm in doing that.
So, go right ahead. So, I'm gonna go ahead and do that,
and it comes with a FastEthernet slot already on it.
Now this is just because of this
particular router that I've selected.
And another slot, I'm gonna put another FastEthernet card,
and then I'll put another FastEthernet card.
As I go forward, I've got some WIC slots available.
Once again, there are slots available on the 3725.
Depending on the software that you are using,
you might not have all of these available to you.
Or you might have more, just depending on what software.
So I'm gonna put some serial interfaces
in these slots right here, so I'm gonna have tons
of interfaces in every single one of my router,
to give me lots of flexibility in the types
of topologies that I design.
Click Next.
All right, so it's thinkin' about it a little bit.
Oops, I wanted to go back there, so let's edit.
Okay, well, the thing that it skipped past was the idle PC.
So, I want to show that to you.
So I'm gonna go ahead and remove this,
and here's a good way of doing it, so once it's in there
you just click Delete to get rid of it.
And to add a new router, or an additional router,
you just click New.
So let's just go through the process here,
everything's gonna be the same.
Upgrade my memory.
And this is, hold on a second, let's put my cards in here.
All right. The idle PC.
This definitely bears a little bit of discussion.
I'm not gonna go into the gory details of how this works
at the low-level mechanics of everything,
but here's what I'll say about this.
Cisco IOS is massively large.
If you were actually to take a look at all the lines of code
in a particular IOS software image,
there would be thousands of lines of code.
And what some of those lines of code do is they instruct
the CPU to go into an idle state, because it's waiting
for some sort of event or trigger to happen,
like an incoming data packet, or an incoming BGP update,
or a TCP keepalive or something like that.
Well, that's all well and good if that IOS
is working on a real, physical Cisco chassis.
The problem is, it's not. In this particular case,
it's working on an emulated router provided by Dynamips
and the whole virtualization behind this.
And so when it goes into that idle state,
it ends up staying in that idle state and sort of
going into this like infinite loop, which can actually cause
your CPU on your laptop to skyrocket, and go to like 100%.
We don't want that.
So what this does is, by clicking this button,
it's gonna sort of go through the code in the background
and look for those particular points in the code
where that would normally happen, where it would
go into this idle state, and instead of telling the CPU
to go into this idle, infinite loop, instead it's simply
going to instruct that virtual router to go to sleep.
It tells it to go to sleep for a few microseconds
or a few milliseconds, and then it wakes up again
and continues on to the next task it was going to do.
So it prevents your CPU from going
to that skyrocketing 100%.
So we're gonna click on the Idle PC Finder.
And so you'll get a box that looks like this.
Computing idle PC values, and we just
have to wait patiently, it doesn't take very long.
It's typically less than a minute, and then it will
come up with some value by itself.
Now, there are ways to manually determine an idle PC value
for the particular software that you are using,
but you shouldn't have to do that.
This tool should work for you
because the manual process is rather complex.
There we go, and it found an idle PC value for us.
And remember, this number is unique to
this particular software image.
Even if I had another software image
for this exact same router, but it was
a different version, or a different feature set,
it would compute a different idle PC value.
So that's why you really don't want
to do it manually if you can avoid it.
So now we can hit Finish,
and now that router is available to us.
So now we can use that in our virtual topology.
Now what I'm gonna do is add one more,
because I also want to basically
turn this router into a switch...
By selecting the EtherSwitch box.
And now when I do that, let's go ahead and change the RAM.
Now you can see it automatically populates
one of those slots with this 16-port EtherSwitch module.
And if you want to you can just leave it that way.
If the only thing you plan on using this router for
is a 16-port Ethernet switch, you can leave it that way.
Or, if you want to give yourself more flexibility,
which is what I like to do, let's just go ahead
and populate those other slots with some other stuff,
so we've got full flexibility, a lot of choices here
in how we use this thing.
Once again, we're gonna select an idle PC.
Now what's happening here, I can't show it to you
because it's actually happening on a different monitor,
but that same box that said "Please wait, computing a value"
it's actually flashing right now, flashing on and off
and on and off, and the first time I saw that it kinda
freaked me out, thinking "Oh my gosh, it's gonna crash
"or something," but actually, if you just sit back and wait,
let it keep flashing at you, eventually it will compute
an idle PC value that's suitable.
So within a few seconds here, I should get one.
There we go, it did find one.
Finish, and now I have some routers available to me.
So at this point, my setup process is done,
so now I'm just gonna click Ok, and now it's gonna say
"Okay, what do you want the name
"of your first project to be?"
You probably don't wanna leave it as Untitled,
so give it some name, you can name it whatever you want.
It could be Test, or you could say OSPF Project.
I'm just gonna say CCNAEHRP-1,
that's just what I'm gonna call mine, and hit Ok.
And now this is your main GNS3 window.
So, in the next set of videos I'm gonna start talking about
how do we use this window and what are the various icons,
and what are the various menus that are on here.
But for now, we're done with the setup process,
we're done with importing our software images.
Also, one thing I'll show you is that you can go back
to those routers at any point in time.
You can just hit Edit > Preferences, and you're right back
here to this screen, so just go ahead under Dynamips,
click on IOS routers, there's your routers again,
and you can go into Edit, and you can change
a lot of the things about these routers.
For example, the slots, I could go back now
and change them to use different modules.
Now, you don't wanna do this while the router is active.
What we're gonna see here in the subsequent videos,
it's gonna be a process of dragging a router
into the main screen, but once you do that,
it's like the router has shut down, it's not active.
And then we're gonna click a button to start up the router,
which is sorta like powering it on.
Once a router is powered on, you don't wanna go in here
and try to change the modules, I haven't tried doing that,
but it would probably be a bad thing,
your laptop would probably blow up in your face.
Well, maybe not that, but it certainly might
crash the system or have other unintended effects.
So if you're gonna change what's in your module slots,
or change the amount of memory to allocate to your router
or something like that, you wanna make sure
that all your routers are shut down
and they're not working to do that.
So that completes this section
of the video on the setup process.
In the next set of videos we're gonna go into how to
actually use this to build our virtual topologies.