Juniper routers have a GUI for device management. We will install this feature to a JunOS router in a GNS3 lab so we can test this web interface.

I’ll install it in a router running JunOS 12.1R1.9. Once we have the package, remember that a Junos router has an underlying BSD OS, so the packet will be .tgz

First we have to configure out TFTP server in a computer accessible to the router. I’ll not explain how to connect a GNS3 network with our physical network as it’s something I did before.

Let’s connect to our TFTP server, remember to do this out of the CLI:

root@JUNOS5% tftp 192.168.66.100

Download the JWeb package:

tftp> binary  
tftp> status  
Connected to 192.168.66.100.  
Mode: octet Verbose: off Tracing: off  
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds  
tftp> get jweb-12.1R1.9-signed.tgz /var/tmp/jweb-12.1R1.9-signed.tgz  
Received 7770670 bytes in 28.6 seconds  
tftp> quit

Install downloaded package:

root@JUNOS5> request system software add /var/tmp/jweb-12.1R1.9-signed.tgz  
NOTICE: Validating configuration against jweb-12.1R1.9-signed.tgz.  
NOTICE: Use the 'no-validate' option to skip this if desired.  
Checking compatibility with configuration  
Initializing…  
Using jbase-12.1R1.9  
Verified manifest signed by PackageProduction_12_1_0  
Verified jbase-12.1R1.9 signed by PackageProduction_12_1_0  
Using /var/tmp/jweb-12.1R1.9-signed.tgz  
Verified jweb-12.1R1.9.tgz signed by PackageProduction_12_1_0  
Using jweb-12.1R1.9.tgz  
Checking jweb requirements on /  
Available space: 686832 require: 9852  
Verified manifest signed by PackageProduction_12_1_0  
Verified jweb-12.1R1.9 signed by PackageProduction_12_1_0  
Using jruntime-12.1R1.9  
Verified manifest signed by PackageProduction_12_1_0  
Verified jruntime-12.1R1.9 signed by PackageProduction_12_1_0  
Using jkernel-12.1R1.9  
Verified manifest signed by PackageProduction_12_1_0  
Verified jkernel-12.1R1.9 signed by PackageProduction_12_1_0  
Using jroute-12.1R1.9  
Verified manifest signed by PackageProduction_12_1_0  
Verified jroute-12.1R1.9 signed by PackageProduction_12_1_0  
Using jcrypto-12.1R1.9  
Verified manifest signed by PackageProduction_12_1_0  
Verified jcrypto-12.1R1.9 signed by PackageProduction_12_1_0  
Hardware Database regeneration succeeded  
Validating against /config/juniper.conf.gz  
mgd: commit complete  
Validation succeeded  
Installing package '/var/tmp/jweb-12.1R1.9-signed.tgz' …  
Verified jweb-12.1R1.9.tgz signed by PackageProduction_12_1_0  
Adding jweb…  
Available space: 686830 require: 9852  
Mounted jweb package on /dev/md10…  
Verified manifest signed by PackageProduction_12_1_0  
Verified jweb-12.1R1.9 signed by PackageProduction_12_1_0  
Executing /packages/mnt/jweb-12.1R1.9/mount.post..  
Restarting bslockd …  
Reloading /config/juniper.conf.gz …  
Activating /config/juniper.conf.gz …  
mgd: commit complete  
Restarting mgd …  
Saving package file in /var/sw/pkg/jweb-12.1R1.9-signed.tgz …  
Saving state for rollback …

WARNING: cli has been replaced by an updated version:  
CLI release 12.1R1.9 built by builder on 2012-03-24 08:36:49 UTC  
Restart cli using the new version ? [yes,no](yes) yes

Restarting cli …  
root@JUNOS5>  

It will ask to restart the CLI as it has been upgraded, no worries with that. Now we will enable the web management:

root@JUNOS5> request system software add /var/tmp/jweb-12.1R1.9-signed.tgz  
 NOTICE: Validating configuration against jweb-12.1R1.9-signed.tgz.  
 NOTICE: Use the 'no-validate' option to skip this if desired.  
 Checking compatibility with configuration  
 Initializing…  
 Using jbase-12.1R1.9  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jbase-12.1R1.9 signed by PackageProduction_12_1_0  
 Using /var/tmp/jweb-12.1R1.9-signed.tgz  
 Verified jweb-12.1R1.9.tgz signed by PackageProduction_12_1_0  
 Using jweb-12.1R1.9.tgz  
 Checking jweb requirements on /  
 Available space: 686832 require: 9852  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jweb-12.1R1.9 signed by PackageProduction_12_1_0  
 Using jruntime-12.1R1.9  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jruntime-12.1R1.9 signed by PackageProduction_12_1_0  
 Using jkernel-12.1R1.9  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jkernel-12.1R1.9 signed by PackageProduction_12_1_0  
 Using jroute-12.1R1.9  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jroute-12.1R1.9 signed by PackageProduction_12_1_0  
 Using jcrypto-12.1R1.9  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jcrypto-12.1R1.9 signed by PackageProduction_12_1_0  
 Hardware Database regeneration succeeded  
 Validating against /config/juniper.conf.gz  
 mgd: commit complete  
 Validation succeeded  
 Installing package '/var/tmp/jweb-12.1R1.9-signed.tgz' …  
 Verified jweb-12.1R1.9.tgz signed by PackageProduction_12_1_0  
 Adding jweb…  
 Available space: 686830 require: 9852  
 Mounted jweb package on /dev/md10…  
 Verified manifest signed by PackageProduction_12_1_0  
 Verified jweb-12.1R1.9 signed by PackageProduction_12_1_0  
 Executing /packages/mnt/jweb-12.1R1.9/mount.post..  
 Restarting bslockd …  
 Reloading /config/juniper.conf.gz …  
 Activating /config/juniper.conf.gz …  
 mgd: commit complete  
 Restarting mgd …  
 Saving package file in /var/sw/pkg/jweb-12.1R1.9-signed.tgz …  
 Saving state for rollback …  
 WARNING: cli has been replaced by an updated version:  
 CLI release 12.1R1.9 built by builder on 2012-03-24 08:36:49 UTC  
 Restart cli using the new version ? [yes,no](yes) yes  
 Restarting cli …  
 root@JUNOS5>  
 It will ask to restart the CLI as it has been upgraded, no worries with
that. Now we will enable the web management:  
 
root@JUNOS5> configure  
 Entering configuration mode  
 [edit]  
 root@JUNOS5# set system services web-management http interface em1.0  
 [edit]  
 root@JUNOS5# commit  
 commit complete  
 [edit]  
 root@JUNOS5#

Now we can access the router using our browser:

Juniper WDM

From now on, you have to go on your own!

Cheers,