I was able to get split-tunneling to work for Mac OS X clients, although it was 
not very easy or straight-forward.  This mail documents the configuration in 
the event someone else might want to do this and asks the mailing list if there 
is a better way or if there are any down-sides of this configuration.  This 
configuration was pieced together by doing quite a bit of googling as the 
StrongSwan documentation in this area is terse (or I missed the Unity attribute 
documentation).

One downside to this configuration I read is that all connections would get the 
DNS server address and that is could be more flexibly assigned using rightdns 
in ipsec.conf on a per connection basis.  However, I did not see any way in 
ipsec.conf to set the DNS search domain along with the server address.

The “cisco_unity = yes” attribute was set in strongswan.d/charon.conf.


# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files

charon {
    load_modular = yes
    plugins {
        include strongswan.d/charon/*.conf
        attr {
            # Cisco Unity plugin attributes for IKEv1
            split-include = 10.8.64.0/23  # Send only traffic destined to 
leftsubnet to the tunnel interface
            split-exclude = 0.0.0.0/0     # Mac OS X client responsible for 
routing all non-tunnel traffic elsewhere
            dns = 10.8.65.164             # DNS server in leftsubnet
            28674 = xyz.internal          # UNITY_DEF_DOMAIN attribute to set 
DNS search domain
        }
    }
}

#
# Enable the Cisco Unity plugin by adding the following line
# in strongswan.d/charon.conf, if it is not already
#
#    cisco_unity = yes
#
include strongswan.d/*.conf




On Jan 26, 2015, at 4:39 PM, Ken Nelson 
<[email protected]<mailto:[email protected]>> wrote:

Hi,


I’m trying to configure a Linux machine to act as an IPSec VPN gateway, with 
the first supported clients being Mac OS X road warriors.  I want to support 
split tunneling at the client as I only want traffic destined to certain 
subnets to be routed to the StrongSwan VPN GW.

The VPN GW software versions:
   StrongSwan:  5.2.0-7.el6
   Centos 6.6:  Linux 2.6.32-504.1.3.el6.x86_64 #1 SMP Tue Nov 11 17:57:25 UTC 
2014 x86_64 x86_64 x86_64 GNU/Linux

Initial Mac OS X version supported is 10.10.

I read here that the Cisco Unity plugin is needed to support split tunneling 
for Mac OS X clients using IKEv1.


When I configure strongswan.conf like this:

-bash-4.1# cat strongswan.conf
# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files

charon {
load_modular = yes
plugins {
include strongswan.d/charon/*.conf
}
        cisco_unity = yes
}

include strongswan.d/*.conf


Restart the service:

-bash-4.1# strongswan restart
Stopping strongSwan IPsec...
Starting strongSwan 5.2.0 IPsec [starter]...


I do NOT see unity in the list of plugins:

Jan 26 23:18:43 ip-10-8-64-4 charon: 00[LIB] loaded plugins: charon curl aes 
des rc2 sha1 sha2 md4 md5 random nonce x509 revocation constraints acert pubkey 
pkcs1 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp xcbc cmac hmac 
attr kernel-netlink resolve socket-default farp stroke vici updown eap-identity 
eap-md5 eap-gtc eap-mschapv2 eap-tls eap-ttls eap-peap xauth-generic xauth-eap 
xauth-pam xauth-noauth dhcp


When I connect to the VPN GW, it does NOT split tunnel.  What am I missing?  Is 
there some other library/RPM required?  I installed StrongSwan like this:

$ sudo yum install strongswan
Loaded plugins: fastestmirror, presto
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel:
mirror.symnds.com<http://mirror.symnds.com>

centos                                                                          
                                          | 3.7 kB     00:00
centos/primary_db                                                               
                                          | 4.6 MB     00:00
Resolving Dependencies
--> Running transaction check
---> Package strongswan.x86_64 0:5.2.0-7.el6 will be installed
--> Processing Dependency: libtspi.so.1()(64bit) for package: 
strongswan-5.2.0-7.el6.x86_64
--> Running transaction check
---> Package trousers.x86_64 0:0.3.13-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================
 Package                             Arch                            Version    
                           Repository                       Size
=================================================================================================================================================
Installing:
 strongswan                          x86_64                          
5.2.0-7.el6                           epel                            923 k
Installing for dependencies:
 trousers                            x86_64                          
0.3.13-2.el6                          centos                          277 k

Transaction Summary
=================================================================================================================================================
Install       2 Package(s)

Total download size: 1.2 M
Installed size: 3.4 M
Is this ok [y/N]: y
Downloading Packages:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 1.2 M
(1/2): strongswan-5.2.0-7.el6.x86_64.rpm                                        
                                          | 923 kB     00:00
(2/2): trousers-0.3.13-2.el6.x86_64.rpm                                         
                                          | 277 kB     00:00
-------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                           
                                 3.9 MB/s | 1.2 MB     00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: 
NOKEY
Retrieving key from
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

Importing GPG key 0x0608B895:
 Userid : EPEL (6) <
[email protected]
>
 Package: epel-release-6-8.noarch (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : trousers-0.3.13-2.el6.x86_64                                     
                                                             1/2
  Installing : strongswan-5.2.0-7.el6.x86_64                                    
                                                             2/2
  Verifying  : trousers-0.3.13-2.el6.x86_64                                     
                                                             1/2
  Verifying  : strongswan-5.2.0-7.el6.x86_64                                    
                                                             2/2

Installed:
  strongswan.x86_64 0:5.2.0-7.el6

Dependency Installed:
  trousers.x86_64 0:0.3.13-2.el6

Complete!




Finally, I saw Bug #737.  Does this mean I must move to StrongSwan 5.2.2 to 
support Mac OS X split tunneling or has it been back ported to earlier 
releases?  StrongSwan 5.2.2 look like is only available as RPM on Fedora 
Rawhide (of the RHEL/Centos distributions) so would need to build from sources 
for Centos 6?  Is easy to support split tunneling using a third-party Mac OS X 
client instead of the native one?


Thanks for any help,


Ken









_______________________________________________
Users mailing list
[email protected]
https://lists.strongswan.org/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
https://lists.strongswan.org/mailman/listinfo/users

Reply via email to