Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Strongswan auth ok, but not establishing tunnel
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
digimag
Guru
Guru


Joined: 14 May 2005
Posts: 451
Location: Toulouse, France

PostPosted: Tue Sep 05, 2017 5:17 pm    Post subject: [solved] Strongswan auth ok, but not establishing tunnel Reply with quote

Hi,

So, I'm trying to use Strongswan in order to establish a secure channel with a Cisco gateway. It's a IPSec site-to-site VPN (IKEv1 / ESP).

It seems like the Security Association is established, but for some reason the tunnel is never established, I just see endless exchanges of some "INFORMATIONAL_V1" requests:

Code:
# ipsec up my_vpn_tunnel
initiating Main Mode IKE_SA my_vpn_tunnel[1] to other.end.pub.ip
generating ID_PROT request 0 [ SA V V V V ]
sending packet: from local.ip.behind.nat[500] to other.end.pub.ip[500] (268 bytes)
received packet: from other.end.pub.ip[500] to local.ip.behind.nat[500] (132 bytes)
parsed ID_PROT response 0 [ SA V V ]
received NAT-T (RFC 3947) vendor ID
received FRAGMENTATION vendor ID
generating ID_PROT request 0 [ KE No NAT-D NAT-D ]
sending packet: from local.ip.behind.nat[500] to other.end.pub.ip[500] (244 bytes)
received packet: from other.end.pub.ip[500] to local.ip.behind.nat[500] (304 bytes)
parsed ID_PROT response 0 [ KE No V V V V NAT-D NAT-D ]
received Cisco Unity vendor ID
received XAuth vendor ID
received unknown vendor ID: 7e:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
received unknown vendor ID: 1f:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
local host is behind NAT, sending keep alives
generating ID_PROT request 0 [ ID HASH N(INITIAL_CONTACT) ]
sending packet: from local.ip.behind.nat[4500] to other.end.pub.ip[4500] (108 bytes)
received packet: from other.end.pub.ip[4500] to local.ip.behind.nat[4500] (92 bytes)
parsed ID_PROT response 0 [ ID HASH V ]
received DPD vendor ID
IKE_SA my_vpn_tunnel[1] established between local.ip.behind.nat[local.end.pub.ip]...other.end.pub.ip[other.end.pub.ip]
scheduling reauthentication in 85632s
maximum IKE_SA lifetime 86172s
received packet: from other.end.pub.ip[4500] to local.ip.behind.nat[4500] (92 bytes)
parsed INFORMATIONAL_V1 request 236334172 [ HASH N((24576)) ]
received (24576) notify
received packet: from other.end.pub.ip[4500] to local.ip.behind.nat[4500] (92 bytes)
parsed INFORMATIONAL_V1 request 3644459270 [ HASH N(DPD) ]
generating INFORMATIONAL_V1 request 144232008 [ HASH N(DPD_ACK) ]
sending packet: from local.ip.behind.nat[4500] to other.end.pub.ip[4500] (92 bytes)
received packet: from other.end.pub.ip[4500] to local.ip.behind.nat[4500] (92 bytes)
parsed INFORMATIONAL_V1 request 2357496430 [ HASH N(DPD) ]
[…]


The last four lines just keep repeating…

My /etc/ipsec.conf:

Code:
config setup
    charondebug="all"
    strictcrlpolicy = no
    nat_traversal = yes

conn %default
conn my_vpn_tunnel
    forceencaps = yes
    aggressive = no
    leftsubnet=a.local.ip/32
    left=local.ip.behind.nat
    leftid=local.end.pub.ip
    leftsourceip=a.local.ip
    right=other.end.pub.ip
    rightid=other.end.pub.ip
    leftauth=psk
    rightauth=psk
    ike=aes256-sha1-modp1024,aes256-sha256-modp1024
    esp=aes128-sha1-modp1024,aes128-sha1-modp1536
    ikelifetime=24h
    lifetime=8h
    keyexchange=ikev1
    auto = add
    modeconfig = push
    dpdaction = hold
    type = tunnel


Any ideas?

I'm rather new to this, and spent a few days already trying to understand what is going on… Maybe the solution is actually simple?
_________________
Sacha


Last edited by digimag on Thu Sep 07, 2017 6:43 am; edited 1 time in total
Back to top
View user's profile Send private message
chiefbag
Guru
Guru


Joined: 01 Oct 2010
Posts: 542
Location: The Kingdom

PostPosted: Wed Sep 06, 2017 3:11 pm    Post subject: Reply with quote

Code:
IKE_SA my_vpn_tunnel[1] established between local.ip.behind.nat[local.end.pub.ip]...other.end.pub.ip[other.end.pub.ip]


Looks like your phase 1 is up.

Do you have protocol 50/esp allowed on your firewall for phase 2?

Do you need "modeconfig = push" ?
Back to top
View user's profile Send private message
digimag
Guru
Guru


Joined: 14 May 2005
Posts: 451
Location: Toulouse, France

PostPosted: Thu Sep 07, 2017 6:25 am    Post subject: Reply with quote

chiefbag wrote:
Code:
IKE_SA my_vpn_tunnel[1] established between local.ip.behind.nat[local.end.pub.ip]...other.end.pub.ip[other.end.pub.ip]


Looks like your phase 1 is up.

Do you have protocol 50/esp allowed on your firewall for phase 2?

Do you need "modeconfig = push" ?
Thank you for your response, but I just figured this out yesterday!

It was just because a used a /24 for the right subnet setting, while on the other side, they configured several individual IPs (/32) instead of putting everything under /24.

Unfortunately for a misconfiguration like that, there is no proper error message, making it quite hard to debug.

I also had to get rid of the leftsourceip/rightsourceip settings (I've put them because someone with similar issues got it to work with these). I don't really understand, what are they for? The doc says "source IP inside the tunnel", but what does it mean, and what practical use would be? :roll:
_________________
Sacha
Back to top
View user's profile Send private message
chiefbag
Guru
Guru


Joined: 01 Oct 2010
Posts: 542
Location: The Kingdom

PostPosted: Thu Sep 07, 2017 7:12 am    Post subject: Reply with quote

Quote:
I also had to get rid of the leftsourceip/rightsourceip settings (I've put them because someone with similar issues got it to work with these). I don't really understand, what are they for? The doc says "source IP inside the tunnel", but what does it mean, and what practical use would be?


As you said from the docs as below.
My understanding is that this can be used to NAT traffic to and from the tunnel, I have never used this type of option as I would normally use virtual subnets and nat traffic via iptables.


Code:
 eftsourceip = %config4 | %config6 | <ip address>

The internal source IP to use in a tunnel, also known as virtual IP.
If the value is one of the synonyms %config, %cfg, %modeconfig or %modecfg, an address (from
the tunnel address family) is requested from the peer.
Since 5.0.1 a comma-separated list is accepted to request multiple addresses, and with %config4 and
%config6 an address of the given address family will be requested explicitly.
If an IP address is configured, it will be requested from the responder, which is free to respond with a
different address.

rightsourceip = %config | <network>/<netmask> | <from>-<to> | %poolname

The internal source IP to use in a tunnel for the remote peer. If the value is config on the responder
side, the initiator must propose an address which is then echoed back. Also supported are address pools
expressed as <network>/<netmask> and <from>-<to> (since 5.2.2) or the use of an external IP address pool
using %poolname where poolname is the name of the IP address pool used for the lookup (see virtual IP for details).
Since 5.0.1 a comma-separated list of IP addresses / pools is accepted, for instance, to define pools of
different address families.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum