After much searching and reading, I am now able to successfully able to connect to my works Juniper VPN on my 64 Bit linux machine. I hope this post finds it’s way out there fast because I couldn’t find single post that had these instructions. So, here we go…
First you must know that I am doing this on Fedora 11. I’m sure it will work on other distro’s, but the tutorial will be tailored to Fedora. Now, there are a few things that you must install. Number 1 is Sun’s Java, including the plugin. Since the release of Java 1.6 update 12, there has been a native 64 bit Java browser plugin. A great place for instructions how to install this is here: http://www.my-guides.net/en/content/view/161/26/1/12/. That’s all I will say about the Java setup.
Next, you need to install some 32 bit libraries. On Fedora simply run:
yum install binutils.i586
For me, this installed 3 dependencies. Namely: glibc.i686, nss-softokn-freebl.i586, zlib.i586. It was pretty simple. Now we’re ready to begin with the install of Network Connect.
You need to make sure xterm is installed. If it’s not, install it. Fedora it’s as simple as:
yum install xterm
Now just open Firefox and navigate to your VPN’s login page. Once there, we need to download the certificate file. To do this click on “Tools > Page Info > Security”. Now you should see info about the sites security certificate. Click on the button that says “View Certificate”. Now you have even more info about the certificate. Now click on the tab at the top of the window that says “Details”. You should now see a button labeled “Export…”. Click that. You are now given a “Save certificate to file” dialog box. First navigate to the location you would like to save it. Then give it a name. I went with “vpn_ssl.crt” and will assume that is your name for the rest of this tutorial. Before you click Save, click on the drop down right above save that let’s you select the certificate type. Choose “X.509 Certificate (DER)”. Now click Save.
Next we need to note down the Realm for your system. It should be listed ont he login page. Here’s a screenshot of my company’s login page with the Realm being “VPN_Users”:

Just login here like normal, being sure to jot down your Realm somewhere. You should now be taken through the process of installing and launching the Network Connect client. If you have correctly installed the java plugin, you should not get any errors. As a note, there should be a point where a terminal window opens and asks for your root password. It’s ok, that’s part of the installation. After everything appears to have loaded you will be taken to a screen saying you are connected. Notice you do not have VPN access to anything in your office. It doesn’t work out of the box on a 64 bit Linux operating system.
Don’t worry, we’re almost there.
Now open a terminal. In your home directory you should now have “.juniper_networks”. Change directories there. If you’re new it’s just “cd .juniper_networks” without the quotes. Now do the same into the “network_connect” folder. When you issue “ls” you should see:
[josh@jeter network_connect]$ ls
installnc.log installNC.sh libncui.so missing.info ncdiag NC.jar ncsvc ncsvc.log version.txt vpn.crt xlaunchNC.sh
ncsvc is the file we’re going to work with. To ensure it is executable issue:
./ncsvc –version
You should get a read out of your version of Network Connect. For reference, mine is:
[josh@jeter network_connect]$ ./ncsvc –version
Juniper Network Connect Server for Linux.
Version : 6.4
Release Version : 6.4-0-Build14063
Build Date/time : Mar 11 2009 09:29:32
Copyright 2001-2008 Juniper Networks
If the file is not executable, make it. Issue “chmod 755 ncsvc”. It my case it’s owned by root, so depending on your setup you can issue:
su -c ‘chmod 755 ncsvc’
Then provide your root password. Now we just need to execute the file with the appropriate parameters. That is:
./ncsvc -h <my.domain.com> -u <username> -p <password> -r <realm> -f <path/to/vpn_ssl.crt> -L 5
Here is an explanation:
-h: The hostname of your server
-u: Your username
-p: Your password
-r: Your systems Realm (noted from earlier)
-f: Path to your vpn_ssl.crt file saved earlier
-L: I put 5, but it’s just the logging level. Put 1 – 5 however you like.
Now, you should be connected. I kept waiting for a confirmation that I was connected, but all you’ll get is:
Connecting to <my.domain.com> : 443
The terminal just sits blank after that. So, in my case, I like to add a & to the end of the command to run it in the background but that’s up to you.
That’s it! You should now be able to access machines in your office. Good luck!