Juniper olive Simulator

I have been working in IP Networks since November, 2006. Previously there was all CISCO in our Network which was replaced with Juniper later.

Initially I came to know that there is some CISCO IOS Simulator which runs original IOS of Cisco routers and we can practice everything on it. I used Dynagen and now GNS03. But when Juniper came i was researching about Juniper Routers Simulator.

Now back in March April 2008 I was able to make it after 2 months continuous researching.

I was thinking of JNCIS-M and JNCIP-M Now I have already done JNCIS-M and preparing for JNCIP-M

I will not let you wait more to know about Juniper Simulator Olive.

Here is the method of making Juniper Simulator Olive.

Index

1. Credits

2. What is Olive

3. VMware specifics

4. Installation of FreeBSD

5. Installation of JUNOS

6. Gaining Access

7. Upgrading Olive.

Credits:

The credits goes to Smoogy and also to some Chinese sites regarding juniper from where I got the method to access the Juniper routers in olive.

What is Olive:

Olive is a nothing. It is basically a simulation of Juniper OS (JUNOS) in Vmware FreeBSD. Exact information will be known to you later on.

Vmware Specification:

You can use Vmware server or Client for this purpose. Just make sure that when you make a virtual machine it has maximum ethernet cards support. I used Vmware Workstation 6.0.1

Vmware Profile I used: 256MB RAM (I may lower this later once Olive is built); 1 x CDROM ; 3 x Ethernet NICs configured as ‘bridged’ (you would be fine with one NIC); 1 x serial port ; 8 GB hard disk (untick ‘allocate all disk space now’); for Operating System profile choose ‘Other’ then ‘FreeBSD’.

Installation of FreeBSD:

Downlaod FreeBSD 4.10-RELEASE-i386-miniinst.iso (~220MB) and when bound to a VMWare CDROM, this will boot.

Start VMWare machine, and at the “Kernel Configuration Menu” choose the top option of “Skip kernel config<snip>”

At the “SysInstall Main Menu” choose “Express – Begin a quick installation (for the impatient)”

At the FDISK Parition Editor type A to use Entire Disk, then type Q to finish

For the “Boot Manager” choose “Standard – Install a standard MBR (no boot manager)”

For the “Disklabel Editor”:

Step 1 of 4: Type C to create, then delete the values and insert 500M <ENTER>, then choose FS (File System), then type / <ENTER>

Step 2 of 4: Type C, delete values, insert 500M <ENTER>, then choose Swap space

Step 3 of 4: Type C, delete values, insert 100M <ENTER>, choose FS, type /config <ENTER>

Step 4 of 4: Type C, accept the values presented with an <ENTER>, choose FS, type /var <ENTER>

Type Q to finish

For “Choose Distributions” choose “Exit this menu – returning to previous” (i.e. no need to install any extras)

For “Choose installation media” choose “CD/DVD

At the “User Confirmation Requested” where it asks if you want to proceed with the install, choose “Yes” – Lots of install stuff will now happen

At the window where it gives you an opportunity to “Visit the general config menu for a chance to set any last options”, choose “Yes

Using the cursor keys, choose “Root password“<ENTER> and enter twice a new ‘root’ password

Using the cursor keys, choose “Interfaces“<ENTER>, then choose “em0“, for IPv6 choose “no“, for dhcp choose “yes“, for host put in a dummy name like “olive” then scroll down to “OK(using DHCP will give you an IP address, allowing you to FTP jinstall images to your Olive machine. If you do not have a DHCP server on your bridged LAN segment, then configure a static IP and default gateway as appropriate)

Then choose “Exit“, then choose “Exit install” from the SysInstall main menu

A final confirmation will ask if you want to reboot, choose “Yes


Installing JUNOS:


Initially install JUNOS 5.7 “jinstall-5.7R2.4-domestic-signed.tgz”, and then later get a more recent JUNOS 8 image on to the virtual machine, so it would detect and use the network cards. You cannot initially install a version greater than 7.4 as it will return an ‘ELF binary type “0″ not known’ error.

Do the following

1. Get JUNOS 5.7 jinstall-5.7R2.4-domestic-signed.tgz”

2. Get Magic ISO Software and make the JUNOS-5.7.iso file of that jinstall-7.7R2.4-domestic-signed.tgz

3. Now give path of that .iso in CDrom of FreeBSD Machine.

4. Mount Cdrom by “mount -t cd9660 /dev/acd0c /cdrom”

5. copy jinstall-7.7R2.4-domestic-signed.tgz by command “cp /cdrom/jinstall-7.7R2.4-domestic-signed.tgz /var/tmp

Now you have jinstall-7.7R2.4-domestic-signed.tgz in your /var/tmp directory Just give below commands :

rm /dev/wd0c

ln -s /dev/ad0c /dev/wd0c

mkdir /var/etc

touch /var/etc

touch /var/etc/master.passwd

touch /var/etc/inetd.conf

touch /var/etc/group

pkg_add /var/tmp/jinstall-5.7R2.4-domestic-signed.tgz

shutdown -r now

NOTE: at this point, if you loaded a JUNOS version of below 7.4, then when you reload – you will lose the ability to use any of the virtual NIC cards in this virtual machine When the virtual machine reboots, you may lose access to the CLI

Gaining access :

You can get access of router by adding serial port to your virtual serial machine and this software Virtual.Serial.Port.Driver 6.9 Also have a look at video

Upgrading to jinstall-8.5R1.4-export-signed.tgz

For upgradation you have to upgrade it to JUNOS 7.2R4.2 then you will upgrade it to JUNOS 8.5R1.4. SO same steps are required as given below for JUNOS7.2.

Now make a second machine having FreeBSD only and copy again by process of .iso file into its /var/tmp directory, then halt the system. shutdown -h now

Now copy its hard-disk by copying the hard disk .vmdk file to the JUNOS virtual machine directory, and add it as a second hard disk. Then when JUNOS boots, you can mount the second hard disk, and pull over the new file.

To add the second hard disk: Click “edit virtual machine settings”; Click Add; Click Next; Click “use existing virtual disk” radio button; Browse to the .vmdk file; Click Finish. You should now have a second IDE hard disk called “IDE 0:1″

Now boot the JUNOS machine – you should see that both hard disks are found in the boot output of the serial port.

Now perform the following to get the image across to the primary (and the only long-term hard disk partition):

mkdir /var2

mount /dev/ad1s1f /var2

cd /var2/tmp

check file exists: ls -al

Move the file using: mv <jinstall-filename.tgz> /var/tmp e.g. mv jinstall-8.5R1.4-export-signed.tgz /var/tmp

cd /var/tmp

pkg_add <jinstall-filename.tgz> e.g. pkg_add /var/tmp/jinstall-8.5R1.4-export-signed.tgz

shutdown -h now

Edit the virtual machine settings again and remove the second hard disk, and delete the second hard disk partition file if you so choose.

When you restart this virtual machine, you should have a welcome site of all NICs detected and JUNSO 8.5 (or your chosen version) fully working.

Now the only thing which is left is multicast patching.

download the multicast patching from following link

Now follow the steps given below :

Copy that patch syscall.ko in two directories

i) /boot

ii) /modules

Restart the router and press space bar until prompt stops like this

recorded reboot as normal shutdown
Rebooting…
Consoles: serial port
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 638kB/260032kB available memory

FreeBSD/i386 bootstrap loader, Revision 1.1
(builder@elliath.juniper.net, Wed Dec 17 23:00:37 UTC 2008)
Loading /boot/defaults/loader.conf
/kernel text=0xa2f02c data=0x6d248+0×81120 syms=[0x4+0x9f750+0x4+0xaae32]

Hit [Enter] to boot immediately, or space bar for command prompt.

Type ‘?’ for a list of commands, ‘help’ for more detailed help.
OK
OK
OK
OK
OK
OK
OK

Now enter in single user mode boot -s

OK
OK
OK
OK
OK boot -s
ACPI autoload failed – no such file or directory
Olive CPU
GDB: debug ports: sio
GDB: current port: sio
KDB: debugger backends: ddb gdb
KDB: current backend: ddb
Copyright (c) 1996-2008, Juniper Networks, Inc.
All right

Now press space bar again until prompt stops like given below

Attaching /packages/jbase via /dev/mdctl…
Mounted jbase package on /dev/md0…
System watchdog timer disabled
Enter full pathname of shell or ‘recovery’ for root password recovery or RETURN for /bin/sh:
NOTE: to go to multi-user operation, exit the single-user shell (with ^D)
Apr 26 16:55:34 init: can’t exec /packages/mnt/jbase¬† for single user: No such file or directory

# #
#
#
#

# cd /boot

#
#
kldload syscall.ko
#

#

#

#

#

Then press Ctrl+D

#
#
# ^D
Verified manifest signed by PackageProduction_8_5_0
Verified jboot signed by PackageProduction_8_5_0

then in shell mode

enter following command for every em interfaces
root@R5%
root@R5%
root@R5%
root@R5%
root@R5% sysctl dev.em.0.fix_em_multicast = 1

sysctl dev.em.1.fix_em_multicast = 1

sysctl dev.em.2.fix_em_multicast = 1

.

.

.

Wish u all the best.

End. ;-)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

24 Responses to “Juniper olive Simulator”

RSS Feed for DACOO Comments RSS Feed

please provide the multicast patch. Previous link expired

Could you please also mention the procedure for interconnecting the routers virtually.

how about running multiple instance junos in vmware?
could you provide the configuration?

regards

for that you just need to make sure that you put the ethernet cards of JUNOS you want to connect in the same vm-net settting.

JUNOS-A

ethernet0.vnet = “VMnet4″

JUNOS-B

ethernet0.vnet = “VMnet4″

great, thanks hasan :)
i have configured multi-instance junos in vmware

Hi Dacoo,

I’m using olive to prepare my JNCIP-M exam.
But I’m facing issues to create more than 3 interfaces. In fact, I can add more than 3 interfaces on the virtual machine, but when I start the router I cannot only see the 3 first interfaces.

Could you help please?

Regards,

Aliou

did you put Ethernet1.virtualDev = “e1000″ command for the new interfaces ?

Ethernet2.virtualDev = “e1000″
Ethernet3.virtualDev = “e1000″
Ethernet4.virtualDev = “e1000″
Ethernet5.virtualDev = “e1000″
Ethernet6.virtualDev = “e1000″

like that

Just did it, it works now.

Thank you a lot.

Cheers,

Aliou

I donot have any JUNOS image like IOS images. Where to get it??

Nauman i dont JUNOS you need to get it from person who has login on Juniper website.

how to add “junos-srxsme-10.3R2.11-domestic” pkge in BSD?

thanks in advance

No My friend I didn’t try it.

what is default username to access router in Olive simulator?

I added junos image from someone system to my VM ware and after boot loading i found there is login ? But i dont know the login. Kindly help me through it….. If some one knows about how to make it to default setting….. your urgent help is required.

Thanks

Hi All,

Thank you for this data , I have found this site by googling for Olive , I have done it on VMWare but that’s is my end . I only have this one router ! , How to make many of it and connect them to form my topology ?
Hope you can do help on this .

Thanks
Waleed

i can’t fing the link for downloading this file -> jinstall-5.7R2.4-domestic-signed.tgz…..can you give me free for download it

I doubt you can find it now. Try checking some torrent.

if it is default then root username and there is no password.

May be root/root123 try it.

try to make its separate clone after turn off the router.

hi Dacoo.
I have working with cisco but now I am moving towards juniper.Any there is any website which gives specific details of Olive simulator. I am facing problems to create virtual routers and connecting them.I am not able to find any proper one from google.thanks.

Hi Shafiq,

Good Day,

You can google the juniper olive vmware and u can find a lot of torrents if u cannot find let me i would help u with different links to find olive simulator otherwise now GNS cisco simulator also supports juniper olive instance.

Regards,
Hasan

Hello,

Can you re-upload syscall.ko?


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: