This article refers to the Cisco AnyConnect VPN. If you're looking for information on the Prisma Access VPN Beta that uses the GobalConnect app, see: Prisma Access VPN Beta Landing Page. If you're not sure which service you're using, see: How do I know if I'm using the Cisco AnyConnect VPN or the Prisma Access VPN Beta? |
Q: How do I uninstall Cisco Anyconnect VPN Client on Mac OS X?
Setting up the Cisco VPN client. Download the Cicso VPN client for macOS from our Self Registration page. Launch the downloaded installer file and click through the screens to complete the installation. Go to your Applications folder and open the Cisco folder. Double-click on the Cisco AnyConnect Secure Mobility Client. Enter vpn.ox.ac.uk into. Starting the VPN Client. NOTE: The VPN will not connect if you are connected to the FBRI wired or wireless network. In your Applications folder, go to the Cisco folder and double-click the Cisco AnyConnect Secure Mobility Client. Enter vpn.vtc.vt.edu in the Ready to. Even Cisco’s new Secure Socket Layer (SSL) protocol AnyConnect is supported by Shimo – the most flexible VPN client for Mac. Shimo also enables you to establish encrypted Secure Shell (SSH) connections including port forwarding for secure web browsing. There is no other VPN client for Mac which supports this variety of available protocols.
Answer
If the application is still installed do this:
- From the Finder go to the Applications folder.
- Look for the Cisco folder and open it
- Then double click on Uninstall Anyconnect to start the uninstall process
- Follow instructions to uninstall VPN program
Here's the procedure for manually uninstalling the AnyConnect client from a Mac OS X system.
As root, run the following shell script from the Terminal:
You will be prompted for your password. Once you enter it, just follow the steps
If you still having trouble and/or the new Cisco Anyconnect installation complains that you have a version installed, follow these steps:
Enter these commands to clean out the old Cisco VPN kernel extension and reboot the system.
If you installed the Cisco VPN for Mac version 4.1.08005 package, enter these commands to delete the misplaced files. The deletion of these files will not affect your system, since applications do not use these misplaced files in their current location.
Enter these commands if you no longer need the old Cisco VPN Client or Shimo.
Finally this.
Confirmed working on OS X High Sierra
The proprietary CiscoVPN Mac client is somewhat buggy. It is possible to use the IPSec VPN software included with Mac OS X instead. This tutorial shows you how to migrate from CiscoVPNto the native OS X IPSec VPN by decrypting passwords saved in CiscoVPN PCF files.
Please visit these guys if their offer interests you - they make this site possible.
Cisco Vpn Client For Mac
Open up your System Prefrences and select 'Network'. Click on the little + button at the bottom of the window to create a new connection.
Pick 'VPN' for the Interface and set its type to 'Cisco IPSec'. It doesn't matter what you set as the service name.
Copy the 'Host' setting from CiscoVPN...
to the 'Server Address' setting in your System Prefrences' and enter your username under 'Account Name'. You probably don't want to enter your passwordunless you are OK with the system saving it.
On Mac OS X, PCF files are usually found in /private/etc/CiscoSystemsVPNClient/Profiles. Open up /Applications/Terminal and type the following:
You should get something like this:
Find that long list of letters and numbers after enc_GroupPwd= and copy it. Also make note of the GroupName - you'll need that in a bit as well.
Paste that sequence of characters into the fancy schmancy decoder ring below and click 'Decode'. (pops up a new window)
Fancy Schmancy Decoder Ring
As an example, this should return 'letmein' as the password:
Thanks to HAL-9000 at evilscientists.de and Massar's work on cisco-decrypt.c for the magic here. A JavaScript implementation also exists here: https://github.com/artemkin/cisco-password-decoder.
Click 'Authentication Settings' back in the Network Prefrences screen. Enter the resulting decoded password into the 'Shared Secret' section of the new VPN connection and set the GroupName from above as well.
Click 'OK', make sure 'Show VPN status in menu bar' is checked and click 'Apply'.
At the top of your screen you should have a little VPN icon. Try connecting to your new VPN.
If everything goes as planned, you should see your connection time counting up at the top of your screen.
How to get your VPN settings out of the built-in mac VPN client.
You don't need the Fancy Schmancy Decoder Ring to get your settings back out of the built-inMac VPN client. Just head over to the Keychain Access application (under Applications -> Utilities) and search for 'VPN'. Double-click your IPSec Shared Secret to open up the window. Clicking 'Show Password' will reveal the secret sauce after you authenticate.
If things seem to get hung-up and you are unable to reconnect your VPN without a reboot, Rick R mentions that you might try killing the 'racoon' process.
Racoon is an IPsec key management daemon and is part of the KAME IPsec tools. Kill it by running 'Activity Monitor' in the 'Utilities' folder, finding it in the process list and clicking 'Quit Process' at the upper left of the Activity Monitor window.
Look in your system.log by running the Console app for hints at what might be going wrong. Here's the system.log from aworking VPN setup / take down.
Disconnects
Dave Ma's VPN would disconnect after 45 minutes of uptime. Fotos Georgiadis on an Apple forum threadsuggested changing the IPSec proposal lifetime within racoon to 24 hours instead of 3600 seconds.(3600 seconds is 1 hour - who knows why people are seeing drops at 45 minutes)Here's how that is done.
- Connect to the VPN (so OSX dynamically generates a racoon configuration file)
- Open Terminal on Mac (Applications --> Utilities--> Terminal)
- Copy the generated configuration file to /etc/racoon:
sudo cp /var/run/racoon/XXXXXX.conf /etc/racoon
**where: XXXXXX is the name or ip address of your VPN server** - Edit the racoon configuration file with your favorite editor (pico):
sudo pico /etc/racoon/racoon.conf
- At the bottom of the racoon.conf file, comment out the line:
# include '/var/run/racoon/*.conf';
(by added the '#' to the beginning of the line) - And instead include the copied file (which we will edit):
include '/etc/racoon/XXXXXX.conf';
(don't forget to replace XXXXXX with the actual name of your file) - Edit the generated configuration file with your favorite editor (pico):
sudo pico /etc/racoon/XXXXXX.conf
- Disable dead peer detection:
dpd_delay 0;
- Change proposal check to claim from obey:
proposal_check claim;
- Change the proposed lifetime in each proposal (24 hours instead of 3600 seconds):
lifetime time 24 hours;
*note: make sure you change all the 'proposed lifetime' sections and not just one. - Disconnect and reconnect (this time racoon will use your custom configuration).
Now try using your VPN for more than 45 minutes and it shouldn't drop.
So does all your traffic flow through the VPN when you are connected or just traffic to the protected networks? Cisco VPN servers normally send out a list of routes to private networks so you don't end up sending all of your traffic through the VPN server. The reasoning behind this is why protect it if the traffic is destined for an insecure network anyway? The native OS X Cisco VPN adds these routes automatically and removes them when you disconnect. That's one of the things that differentiates the Cisco VPN client from the standard IPSec client. Let's take a look at what gateway is used when sending traffic to apple.com from within the Terminal application:
Notice the 'gateway' line there? Traffic to apple.com is going out 192.168.1.1 which is my normal Internet gatewayso it is skipping the VPN entirely.
Let's try an IP on a protected private network: (10.1.2.3)
Cisco Anyconnect For Mac Download
In this case, the gateway is 172.131.25.12 which is a fake IP on the far end of the VPN which will eventually route traffic to 10.1.2.3. So when sending data to 10.1.2.3, I am going through the VPN and that traffic is encrypted.
So how does it know what gateway to use for different IPs? Let's take a look at the routing table:
I've lopped off a bunch of irrelevant lines but as you can see we have two 'default' routes. If a destination isn'texplicitly matched below, the traffic will flow through the first default route from the top. So in this case, ifthe destination isn't within 10.1/16 (which means 10.1.*.*) we will go through our default route of 192.168.1.1. Ifit is, we would go through 172.131.25.12 which is our VPN.
But what if you just wanted to send everything through your VPN connection? We could just delete the first default route and let everything go over the VPN, but this is presumably dangerous because the encrypted traffic probably uses the default route to get to the VPN server in the first place. Let's see:
Yep, it does. So if we are going to remove the default route to 192.168.1.1, we have to make sure we have an explicitroute below to the VPN server. (1.2.3.4) You will notice above that my Cisco VPN server adds this route automatically, but if yours isn't configured that way you can add it like this:
It is safe to try this if you already have the route because the command will just fail.
The next thing we are going to do is a little dangerous and remove all your network access. A reboot should be your weapon of last resort to get your networking back but you might also want to print these instructions out so you havethem. You have been warned!
Now let's do the dangerous bit and rip the first default route away:
Now let's check to see if we can still get to our VPN server:
Yep, looks good.
Now let's look at the wider Internet by seeing how we get to apple.com: (17.172.224.47 - we aren't using apple.com here because we don't want to depend on DNS working)
Whoops, something is wrong! That's because that first route there is a little deceptive. It isn't aroute to the IP of the gateway, just a route to the VPN tunnel device utun0. We'll need to say what IPto go to. Let's add a default route to the VPN's fakenet gateway address: (which we already have as the gateway in most other routes)
OK, let's see which way packets go to get to apple.com: (17.172.224.47)
Yep, looks like the right way.
Now let's try pinging google.com: (apple.com doesn't respond to pings)
Looks like it works. If it doesn't work, your VPN server likely doesn't allow general Internet access throughVPN connections. If this is the case, you are out of luck. Hopefully you know someone influential in the ITdepartment that can change this for you.
Because we removed the normal default route, when we shut down our VPN we'll be stuck without a default route.To add that back in after the VPN goes down, do this:
And we should be back to normal.
Ideally we do these things automatically when the VPN comes up. The easiest way to do this is to have yourVPN administrator set that up as a policy for you. Alternatively, you can create scripts that run on VPN startup.Create /etc/ppp/ip-up and add whatever lines you came up with above to that and mark that file as executablewith:
Similarly, /etc/ppp/ip-down will be run on VPN shutdown. Reverse your commands in that file and you shouldhave a completely automated setup.
Happy tunneling!
-Anders Brownworth
About Me:
Name:Anders Brownworth
Home: Cambridge, MA, USA
Work: Mobile application and GSM research at Bandwidth.
Play: Technology, World Traveler and Helicopter Pilot
Follow: