[strongSwan] Replicate Cisco like ACL with strongswan
Hans-Kristian Bakke
hkbakke at gmail.com
Mon May 30 10:51:00 CEST 2011
Hi
Hi
Thanks for your input.
I would love to use IKEv2, but it is sadly not an option.
Your changes to auto=start makes sense but dns1 is still the only
connection that establishes an SA (STATE_MAIN_I4 ISAKMP SA
ESTABLISHED). The other ones seems stuck in QUICK_INIT_I1. The
connection should be using main mode only.
If I run setkey -DP it only seems to add the UDP-connections if it
adds anything at all.
In the meantime I have configured racoon and setkey.conf (with 8
spdadd rules) and it does work for both lookups and zone transfers so
I know the other end is correctly setup.
After shutting down racoon I can't establish the connections again
(timing out) so I guess I have to wait for the connections to time out
(dpd is perhaps not used in both ends), so perhaps strongswan is
working after your changes too?
I will try again after a couple of hours when the connections
hopefully has died in all ends.
Questions:
- Is QUICK_INIT in statusall related to aggressive mode, and if so is
it possible to force MAIN (i thought strongswan didn't support
aggressive at all)?
- Don't I need 8 conn definitions in ipsec.conf too? I seem to be
missing half the connections from the other end with my config
compared to ACL/setkey.conf. Should I add a duplicate set of conn with
a reversed "pair" of left and right IPs or is this not necessary as
strongswan decides what left and right is for it self and therefore
doing this automatically?
Regards,
Hans-Kristian Bakke
On Mon, May 30, 2011 at 09:17, Andreas Steffen
<andreas.steffen at strongswan.org> wrote:
> Hello Hans-Kristian,
>
> first I recommend to use IKEv2 which is much faster
> and more robust:
>
> config setup
> charonstart=yes
> plutostart=no
>
> conn %default
> keyexchange=ikev2
> ikelifetime=28800
> keylife=3600
> auth=esp
> authby=psk
> type=transport
> ike=aes128-sha1-modp1024!
> esp=aes128-sha1-modp1024!
> dpdaction=restart
> dpddelay=60
> dpdtimeout=500
>
> You can still log to a file using strongswan.conf:
>
> http://wiki.strongswan.org/projects/strongswan/wiki/LoggerConfiguration
>
> Do not put auto=start into the "conn %default" section since
> "conn dns_SRV" will also be started, allowing all protocols.
>
> Rather define:
>
> conn dns1
> also=dns_SRV
> leftprotoport=tcp
> rightprotoport=tcp/53
> auto=start
>
> conn dns2
> also=dns_SRV
> leftprotoport=udp
> rightprotoport=udp/53
> auto=start
>
> conn dns3
> also=dns_SRV
> leftprotoport=udp/53
> rightprotoport=udp
> auto=start
>
> conn dns4
> also=dns_SRV
> leftprotoport=tcp/53
> rightprotoport=tcp
> auto=start
>
> conn dns_SRV
> left=10.17.0.11
> right=10.27.64.11
>
> Best regards
>
> Andreas
>
> On 05/30/2011 08:27 AM, Hans-Kristian Bakke wrote:
>>
>> Hi
>>
>> I need to set up a ipsec connection (in transport mode) directly
>> between two DNS-servers (host to host). The point is that only
>> DNS-server traffic should use the tunnel.
>> This is normally easy using Cisco-equipment as a ACL can do this easily.
>> However I am really struggling to find a way to do this with
>> strongSwan. Using leftprotoport and rightprotoport and separate
>> connections doesn't seem to work correctly.
>>
>> The ACL I need to replicate on my end is this one (I have no influence
>> on the other end):
>> permit tcp host 10.27.64.11 host 10.17.0.11 eq 53
>> permit tcp host 10.17.0.11 eq 53 host 10.27.64.11
>> permit tcp host 10.27.64.11 eq 53 host 10.17.0.11
>> permit tcp host 10.17.0.11 host 10.27.64.11 eq 53
>> permit udp host 10.27.64.11 host 10.17.0.11 eq 53
>> permit udp host 10.17.0.11 eq 53 host 10.27.64.11
>> permit udp host 10.27.64.11 eq 53 host 10.17.0.11
>> permit udp host 10.17.0.11 host 10.27.64.11 eq 53
>>
>> This is my ipsec.conf so far. I can't get rid of the feeling that
>> something is missing:
>> (using v4.2.4-5+lenny3 on Debian Lenny)
>> --
>> # ipsec.conf - strongSwan IPsec configuration file
>>
>> # basic configuration
>>
>> config setup
>> charonstart=no
>> plutostart=yes
>> plutodebug=control
>> nat_traversal=no
>> plutostderrlog=/var/log/pluto.log
>>
>> conn %default
>> keyexchange=ikev1
>> ikelifetime=28800
>> keylife=3600
>> auth=esp
>> authby=psk
>> auto=start
>> type=transport
>> ike=aes128-sha1-modp1024
>> esp=aes128-sha1-modp1024
>> dpdaction=restart
>> dpddelay=60
>> dpdtimeout=500
>>
>> conn dns1
>> leftprotoport=tcp
>> rightprotoport=tcp/53
>> also=dns_SRV
>>
>> conn dns2
>> leftprotoport=udp
>> rightprotoport=udp/53
>> also=dns_SRV
>>
>> conn dns3
>> leftprotoport=udp/53
>> rightprotoport=udp
>> also=dns_SRV
>>
>> conn dns4
>> leftprotoport=tcp/53
>> rightprotoport=tcp
>> also=dns_SRV
>>
>> conn dns_SRV
>> left=10.17.0.11
>> right=10.27.64.11
>> ---
>>
>> When I run ipsec statusall dns1 gets to STATE_MAIN_I4 (ISAKMP SA
>> ESTABLISHED) but the other ones doesn't seem to do anything.
>> The DNS-traffic still goes out unencrypted.
>>
>> How can I replicate the ACL perfectly with strongswan?
>>
>> Mvh
>>
>> Hans-Kristian Bakke
>> Mob: 91 76 17 38
>
> ======================================================================
> Andreas Steffen andreas.steffen at strongswan.org
> strongSwan - the Linux VPN Solution! www.strongswan.org
> Institute for Internet Technologies and Applications
> University of Applied Sciences Rapperswil
> CH-8640 Rapperswil (Switzerland)
> ===========================================================[ITA-HSR]==
>
More information about the Users
mailing list