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 GNS3.org 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 (http://www.slysoft.com/en/virtual-clonedrive.html) and install that.

3)  Grab a copy of Free ISO Creator (http://www.freeisocreator.com/ )

4)  …install that

5)  You’ll need qemu.  The file you’re looking for is qemu-0.11.0.patched.win32.zip.  If only there was a way to find that. http://www.google.com/search?q=qemu-0.11.0.patched.win32.zip

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. http://www.google.com/search?q=jinstall-10.1r1.8-domestic-olive.tgz

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. http://www.google.com/search?q=4.11-RELEASE-i386-miniinst.iso

 

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).

olive01

 

Now create an ISO

olive02

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

olive03

olive04

 

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