Category Archives: GNS3

What do I need for a CCNP?

At least when I took it all you really needed was GNS3 and some books.

There are some great videos out there too.  I don’t often plug pay sites (they’ve given me nothing…promise), but has a guy named Jemery Cioara that is becoming something of a legend in the networking community.  I don’t think I’ve spoken to somebody in the network world who hasn’t seen his CCNA/CCNP series done for cbtnuggets.  I did, they helped a lot with some concept stuff.  Don’t think that only watching the videos will give you everything you need.  There’s still that pesky memorization stuff that they throw on the exams that you can only really get out of a book, but they’re a great start.
As for GNS3 all you really need to use is a 3725 router and add different switch modules (right click on the router when it’s in the topology and Configure > Slots…add serial or switch modules from there).  If you get the correct image for the 3725 you can run all the protocols covered on the exams (even IS-IS and IPv6).

I liked to come up with scenarios that were a bit more real-world based. I mean, when was the last time anybody got onto a new job to find that everything was standardized and perfectly efficient?  So when putting together some of the networks for redistribution exercises or switching networks for STP practice think to yourself “How would a network look if 3 different engineers had different budgets and priorities?”  Then build that.

Pretend there are some old models kicking around that don’t support newer protocols (or just haven’t been upgraded in years).

Pretend that a project was started to migrate to a different IGP, but was never completed because somebody left.

I know I had a mental block when looking at some scenarios.  I would think to myself “Why in the world would this ever happen?”  It happens.  More often than you’d like.  Most of the people I talk to lately are working on projects to fix what has happened in the past…so there will be some migration plans that look dirty, but are needed because you can’t get to the whole network in one maintenance window.  So, the “why” doesn’t matter anymore, just that it “has.”

Junos, olive, GNS3…should be easy, right? Pt5

Now, you remember that ISO image we made all the way at the beginning?  Well, now we actually use it.

From the command prompt “qemu -L . -m 256 -boot c -hda j.img -cdrom ..\jinstall.iso”


That’ll launch qemu again and mount the image for installation.  Login when prompted


Let’s clear some room to work with:


Mount the cdrom “mount /cdrom”

Create a temp directory for Junos “mkdir /var/tmp/j/”

Change to the new directory “cd /var/tmp/j/”

And make sure you’re actually there “pwd”

Extract the Junos files “tar zxvf /cdrom/jinstall-10.1r1.8-domestic-olive.tgz”



Make pkgtools directory “mkdir pkgtools”

Go into pkgtools directory “cd pkgtools”

Verify that you’re in the right spot “pwd”

Extract pkgtools “tar zxfv ../pkgtools.tgz”


Go to Bin directory “cd bin”

Copy true file “cp /usr/bin/true ./checkpic”

Back up one level “cd ..” (there’s a space in there)

Zip the file again “tar zcvf ../pkgtools.tgz *”


Back up one level “cd ..”

Remove pkgtools directory “rm –rf pkgtools”

Rezip to Junos “tar zcvf ../junos.tgz *


Install Junos “pkg_add –f /var/tmp/junos.tgz”


Here’s where you end up:


“init 6” then ctrl + alt + 2 “q” to kill it

Now we’ve got a working image.  Time for the GNS3 part.  Open up GNS3 and go to Edit > Preferences > Qemu.  Change the working directory, path, and img path.


Go the Junos tab and add your image…make sure to save it


You should now be able to drag Juniper routers into your topologies.


A few things I’ve found:

1)  Connect your links before starting the router, they don’t like changing things once they’re running

2)  They take a long time to boot.  Yeah, it sucks, but at least they work

3)  These images don’t do everything.  You may be able to put in a command and it seems to take, but the feature doesn’t work.  Kind of a pain…

4)  Make sure to save the nvrams and harddisks of your devices in your projects.  With Junos stuff make sure to save while the device is running.

5)  Important: hit crtl+alt to free your mouse from a qemu window should you accidently click in there.


Have fun!

Junos, olive, GNS3…should be easy, right? Pt4

It’ll dump you back to the previous screen with the line selected with an X on it.  Hit the tab key and then enter.


Select 1 to install via CD or DVD and hit yes on the next screen


It’s going to do some stuff now…be patient here, don’t freak out if it doesn’t look like it’s moving for a while.  You’ll see multiple progress bars and finally you’ll get to this…select yes when you get here.


Go down to set root password and hit enter…then type in a password for this image, please remember it


Go ahead and exit when you get to the next screen


Now exit the install…yes, you’re sure you want to exit.


This will restart the qemu application…hit Ctrl+Alt+2 to kill it…that’ll take you to this


Type Q and hit enter to exit. That’ll close the qemu window and take you back to your command prompt.


still not done yet PT5

Junos, olive, GNS3…should be easy, right? Pt3

It’ll do some more stuff and get you here.  Use the down arrow key to get to “Express” and press enter to select.



Press A for use entire disk


Press Q to quit


Select Standard


Press C to create


Type in “2048M” (caps here matters)


Select FS and type in /


Press C to create and 1024M (caps here matters) and select Swap


Press C to create and 100M (caps here matters) and select FS, type in /config


Press C to create, press enter to select whatever is left, select FS, and call the partition /var


Press Q to quit, use the arrow keys to scroll to 8 Users and use the space bar to select the line before you hit enter


Select No on the next screen




not done yet…PT4

Junos, olive, GNS3…should be easy, right? Pt2

Now let’s extract qemu.




Open a command prompt and go to your olive\qemu directory.  Here’s your first command:

qemu-img.exe create j.img -f qcow2 6G

You should see the output below


Next command, this starts qemu:

qemu.exe -L . -m 256 -hda j.img -boot d -localtime -cdrom ..\4.11-RELEASE-i386-miniinst.iso

You’ll get a new window at this point


This window will do some stuff, if you don’t press anything you’ll get to this point.  Select the first option by pressing enter.



Onward to PT3

Junos, olive, GNS3…should be easy, right? Pt1

GNS3 is just about the best thing ever.  If you’ve never used it, you should.  Talk about the amazing things that people will build and publish for free.

For those who are unfamiliar with GNS3 it is a graphic network simulator (g…n…s…get it?).   Basically you get to run virtual routers and switches that actually run IOS (it was primarily designed for Cisco gear).  It’s not a crappy emulator where commands aren’t available and you don’t actually get to see traffic flow, it’s the real deal (well…virtually).  Virtual packets get passed from device to device that you can use wireshark to sniff, you can bind physical interfaces on your computer to virtual interfaces to create even larger networks.  In short, it’s awesome.

If you need to study for a CCNA or CCNP this is the most valuable tool you can have.  I have a friend who has been using it to study for his CCIE, where he has run into some issues, but not many.  Think about how great that is: You can download a program, for free, instead of paying thousands of dollars to build a network rack, plus saving your electricity bill and keeping your friends from thinking that you’re the ultimate geek every time they walk into your place.

That’s enough about how amazing this application is (and the kind and generous souls who have put their time into developing it).  I’ll probably do some posts later about little helpful tricks I’ve found, but on to the main point of this post: Junos and GNS3.

I had a bit of trouble locating a good step by step guide to integrating a Junos Olive with GNS3.  They have posts on their forums and several other people have posted guides to do this, so am I just re-posting?  Kind of.  My problem with a lot of the guides out there is that they were done by people who run some build of Linux or Mac (which I guess would be a Linux build now…right?).

I don’t run Linux  I use Windows.  I know, I know.  “You call yourself a tech and use Windows?”  Yes.  Yes I do.  I’ve tried Linux and it’s great for what it is, but it’s not what I need in a daily OS.  That’s a different rant.

The best thing I was able to find when I was searching was this video on youtube (credit where credit is due).  It’s pretty good and got me to where I needed to be.  There are a couple of parts I modified, but for the most part it follows this video.


Time for the juicy part, the actual setup:

First thing you need to do, download all the stuff.  You can use different versions, but I know these work.  Please feel free to tinker and let me know others work better or not at all.


Save files wherever you like.  For me I found it easiest to create an Olive directory right off the root of the C drive.  As you move forward through this make sure to modify any commands with different file locations that you use.


1)  If you don’t already have it go to and pull the full install package and install it.  I’m using 0.8.3 for this guide.

2)  Grab a copy of Virtual Clone Drive ( and install that.

3)  Grab a copy of Free ISO Creator ( )

4)  …install that

5)  You’ll need qemu.  The file you’re looking for is  If only there was a way to find that.

6)  You need a juniper install package.  I used jinstall-10.1r1.8-domestic-olive.tgz  If only there was a way to find that.

7)  And you’ll need a Free BSD mini package (4.11 in this case) 4.11-RELEASE-i386-miniinst.iso  If only there was a way to find that.


Next we need to make an ISO file containing that junos install file.  Stick the olive.tgz file into a separate sub directory (in my case I called it jinstall).



Now create an ISO


If you’re paranoid you can mount it to make sure that it worked…




This is going to be long so I’m breaking it into multiple posts: PT2 PT3 PT4 PT5