Thursday, November 28, 2013

Juniper Network Connect and Mac OS

I run a Macbook Pro to do a lot of my software development. When I work from home I have to connect to the company VPN to push code updates to the repository server - which is done with the Juniper Network Connect client. Occasionally the VPN client will connect and then disconnect after five seconds with a message that begins with, "Your computer's routing table has changed...". There is some discussion of this on the 'tubes, but no one seems to have a solution in hand. I managed to solve it on my own.

The error message is correct, something is updating my machine's routing tables after the VPN connection is made. The simplest way to figure out what is doing this is to start killing processes until the VPN connection starts working - which you do with the "Activity Monitor" application (Macintosh HD -> Applications -> Utilities -> Activity Monitor).

After some experimentation, it appears as if VMWare Fusion may be the culprit. I say "may" because I ended up killing several other processes at the same time, so I cannot be certain that VMWare Fusion was the right one. However, in reading forum posts from others who have had this problem, VMWare Fusion seems to pop up quite often during the discussion.

Also, two other issues of note:

Running the VPN client from within a VMWare instance seems to work all of the time. Even when this is happening within the base Mac OS.

YMMV, but I usually have really messed up DNS settings once the VPN client disconnects. This can be solved by issuing the following two commands in the terminal:

sudo launchctl unload /System/Library/LaunchDaemons/

sudo launchctl load /System/Library/LaunchDaemons/