[strongSwan] Running on AWS behind Elastic IP
Mathew Marulla
matt_m at me.com
Wed Nov 16 18:48:20 CET 2016
Bruce -
Not sure what you mean by “netting host”. Can you be more specific or point me to a link?
- Matt
> On Nov 16, 2016, at 12:34 AM, Bruce Ferrell <bferrell at baywinds.org> wrote:
>
>
> Try setting it up as if the AWS instance is a netting host
>
> On 11/15/2016 09:27 PM, Mathew Marulla wrote:
>> First some background…
>>
>> Our current installation is using ipsec-tools/racoon running on a CentOS server at Rackspace to establish two VPN tunnels to hardware routers at remote installations. 146.x.x.x
>> is a Cisco 2500 and 2.x.x.x is a Comtrend VG-8050. Both remote locations have several servers in subnets that talk over the VPN (10.2.2.x in one location and 10.2.3.x in the
>> other), but they only need to talk to the local server that is running the VPN, so no local subnet, just one server (184.x.x.x). We’ve been running this successfully for several
>> years.
>>
>> We are now moving the local installation to AWS and updating lots of infrastructure. The local server is now running Ubunutu 14.04 and StrongSwan 5.5.1. It is behind an elastic
>> IP (52.x.x.x). The remote installations and hardware have not changed, other than adding the new VPNs to the 52.x.x.x server. We still don’t need to have a local subnet, but
>> you will see one in the config below - i’ve tried almost everything.
>>
>> Although I have read just about every tutorial and similar posting I can find about running StrongSwan on an EC2 instance, I still can not seem to get it to work.
>>
>> Here’s the config files (private info and public IPs edited out):
>>
>> strongswan.conf
>>
>>> charon {
>>> load_modular = yes
>>> plugins {
>>> include strongswan.d/charon/*.conf
>>> }
>>> }
>>>
>>> include strongswan.d/*.conf
>>
>> ipsec.conf
>>
>>> config setup
>>> strictcrlpolicy=no
>>> charondebug=all
>>>
>>> conn %default
>>> ikelifetime=1h
>>> lifetime=1h
>>> authby=psk
>>> auto=start
>>>
>>> conn xxxxx
>>> left=172.30.0.9
>>> leftid=52.x.x.x
>>> leftsubnet=172.30.0.0/16
>>> leftauth=psk
>>> right=2.x.x.x
>>> rightsubnet=10.2.2.0/24
>>> rightauth=psk
>>> ike=aes128-sha1-modp1024!
>>> esp=aes128-sha1-modp1024!
>>> aggressive=no
>>
>> When I try to run ipsec, I get this:
>>
>>> Starting strongSwan 5.5.1 IPsec [starter]...
>>> 00[DMN] Starting IKE charon daemon (strongSwan 5.5.1, Linux 3.13.0-74-generic, x86_64)
>>> 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts'
>>> 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts'
>>> 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts'
>>> 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts'
>>> 00[CFG] loading crls from '/etc/ipsec.d/crls'
>>> 00[CFG] loading secrets from '/etc/ipsec.secrets'
>>> 00[CFG] loaded IKE secret for 2.x.x.x
>>> 00[LIB] loaded plugins: charon aes des rc2 sha2 sha1 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem fips-prf gmp xcbc cmac
>>> hmac attr kernel-netlink resolve socket-default stroke vici updown xauth-generic
>>> 00[JOB] spawning 16 worker threads
>>> charon (4321) started after 20 ms
>>> 08[CFG] received stroke: add connection ‘xxxxx’
>>> 08[CFG] added configuration ‘xxxxx’
>>> 11[CFG] received stroke: initiate ‘xxxxx’
>>> 11[IKE] initiating IKE_SA xxxxx[1] to 2.x.x.x
>>> 11[ENC] generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
>>> 11[NET] sending packet: from 172.30.0.9[500] to 2.x.x.x[500] (336 bytes)
>>> 15[IKE] retransmit 1 of request with message ID 0
>>> 15[NET] sending packet: from 172.30.0.9[500] to 2.x.x.x[500] (336 bytes)
>>> 15[IKE] retransmit 2 of request with message ID 0
>>> etc…
>>
>> I believe it is not connecting because the remote router is seeing a non-routable IP, that is, the private IP of the local server (172.30.0.9). I was under the impression that
>> the lefdid parameter would be sent so the remote router would see the elastic IP. That does not seem to be happening.
>>
>> Of course, if I put the elastic IP in the left parameter, I get nothing but socket errors since the EC2 instance doesn’t know about it. I even put the elastic IP in at localhost
>> in it’s /etc/hosts file, but no difference.
>>
>> Other info:
>>
>> Ports 500 and 4500 are open to the remote routers in the EC2 security group.
>> net.ipv4.ip_forward is set on.
>> IPTables is not running.
>> Source/Dest check for this instance is set off in AWS.
>>
>> Any ideas? ‘Cause I’m almost out!
>>
>> - Matt
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.strongswan.org
>> https://lists.strongswan.org/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users at lists.strongswan.org
> https://lists.strongswan.org/mailman/listinfo/users
More information about the Users
mailing list