[strongSwan] strongswan-5.1.1 with 4.xx, tunnel pb
s s
y52 at europe.com
Sun Jan 5 22:50:39 CET 2014
Hello,
I made some homework and found out different elements, which may help to troubleshoot.
>> This packet was a large packet and was sent as two UDP fragments.
What looked like to be a packet fragmentation, in fact appeared to be two different CAs sent in the key exchange.
I had 2 CAs in the "cacert" folder due to the coming expiration of one of them. So I removed the expired one and the packet duplication was solved.
Now comes to the other issues, which I am unable to resolve.
I tried to switch to the IKE v1.
The initial authentication is successful:
root at bt:/etc/ipsec.d# ipsec up karmaIKE2
initiating IKE_SA karmaIKE2[4] to 192.168.4.10
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
sending packet: from 10.0.2.15[500] to 192.168.4.10[500]
received packet: from 192.168.4.10[500] to 10.0.2.15[500]
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
local host is behind NAT, sending keep alives
authentication of 'btvm at hmnet.ucp' (myself) with RSA signature successful
establishing CHILD_SA karmaIKE2 <<-- this step fails
generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
retransmit 1 of request with message ID 1
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
Examining the other side logs gives:
Jan 5 18:30:45 karma charon: 04[CFG] received proposals: ESP:AES_CBC_128/HMAC_SHA1_96/MODP_2048/NO_EXT_SEQ,
ESP:3DES_CBC/HMAC_SHA1_96/MODP_2048/NO_EXT_SEQ
Jan 5 18:30:45 karma charon: 04[CFG] configured proposals: ESP:AES_CBC_128/HMAC_SHA1_96/NO_EXT_SEQ,
ESP:3DES_CBC/HMAC_SHA1_96/NO_EXT_SEQ,
ESP:AES_CBC_128/AES_CBC_192/AES_CBC_256/3DES_CBC/BLOWFISH_CBC_256/HMAC_SHA1_96/AES_XCBC_96/HMAC_MD5_96/NO_EXT_SEQ
Jan 5 18:30:45 karma charon: 04[IKE] no matching proposal found, sending NO_PROPOSAL_CHOSEN
Comparing the security received/configured proposals differs with MODP_2048
I found the workaround this issue adding the pfs = no to the conn configuration:
conn karmaIKE2
left=%defaultroute
leftsubnet=10.0.2.0/24
leftcert=btvm34.hostCert.pem
leftid=btvm at hmnet.ucp
right=192.168.4.10
rightsubnet=192.168.4.0/24
rightcert=peercerts/karmaY2034.hostCert.pem
rightid=@karma.hmnet.ucp
keyexchange=ikev1
pfs = no
# keyexchange=ikev2
# mobike=yes
auto=add
This allowed to set up a tunnel :
root at bt:/etc/ipsec.d# ipsec up karmaIKE2
002 "karmaIKE2" #1: initiating Main Mode
104 "karmaIKE2" #1: STATE_MAIN_I1: initiate
003 "karmaIKE2" #1: received Vendor ID payload [XAUTH]
003 "karmaIKE2" #1: received Vendor ID payload [Dead Peer Detection]
106 "karmaIKE2" #1: STATE_MAIN_I2: sent MI2, expecting MR2
002 "karmaIKE2" #1: we have a cert and are sending it upon request
108 "karmaIKE2" #1: STATE_MAIN_I3: sent MI3, expecting MR3
002 "karmaIKE2" #1: Peer ID is ID_FQDN: '@karma.hmnet.ucp'
002 "karmaIKE2" #1: crl not found
002 "karmaIKE2" #1: certificate status unknown
002 "karmaIKE2" #1: ISAKMP SA established
004 "karmaIKE2" #1: STATE_MAIN_I4: ISAKMP SA established
002 "karmaIKE2" #2: initiating Quick Mode PUBKEY+ENCRYPT+TUNNEL+UP {using isakmp#1}
112 "karmaIKE2" #2: STATE_QUICK_I1: initiate
002 "karmaIKE2" #2: sent QI2, IPsec SA established {ESP=>0xcf739c9c <0xca7ad5d1}
004 "karmaIKE2" #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0xcf739c9c <0xca7ad5d1}
ipsec statusall
karmaIKE2: %any...%any IKEv1
karmaIKE2: local: [karma.hmnet.ucp] uses public key authentication
karmaIKE2: cert: "OU=hmnet, CN=karma.hmnet.ucp"
karmaIKE2: remote: [btvm at hmnet.ucp] uses public key authentication
karmaIKE2: cert: "OU=testbed, CN=btvm.hmnet.ucp"
karmaIKE2: child: 192.168.4.0/24 === 10.0.2.0/24 TUNNEL
Security Associations (2 up, 0 connecting):
karmaIKE2[8]: ESTABLISHED 16 seconds ago, 192.168.4.10[karma.ucp-is.com]...192.168.4.87[btvm at hmnet.ucp]
karmaIKE2[8]: IKEv1 SPIs: 2175d162c1d066eb_i 1fb55e5a7f044c32_r*, public key reauthentication in 2 hours
karmaIKE2[8]: IKE proposal: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
karmaIKE2{3}: INSTALLED, TUNNEL, ESP SPIs: cf739c9c_i ca7ad5d1_o
karmaIKE2{3}: AES_CBC_128/HMAC_SHA1_96, 0 bytes_i, 0 bytes_o, rekeying in 45 minutes
karmaIKE2{3}: 192.168.4.0/24 === 10.0.2.0/24
Anyway, the routing doesn't work in between the net-net :
root at bt:/etc/ipsec.d# ping 192.168.4.10
PING 192.168.4.10 (192.168.4.10) 56(84) bytes of data.
^C
--- 192.168.4.10 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1008ms
root at bt:/etc/ipsec.d# iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 * 192.168.4.0/24 10.0.2.0/24 policy match dir in pol ipsec reqid 16389 proto 50
0 0 ACCEPT all -- * eth0 10.0.2.0/24 192.168.4.0/24 policy match dir out pol ipsec reqid 16389 proto 50
root at bt:/etc/ipsec.d# ip xfrm policy
src 10.0.2.0/24 dst 192.168.4.0/24
dir out priority 2344
tmpl src 10.0.2.15 dst 192.168.4.10
proto esp reqid 16389 mode tunnel
src 192.168.4.0/24 dst 10.0.2.0/24
dir fwd priority 2344
tmpl src 192.168.4.10 dst 10.0.2.15
proto esp reqid 16389 mode tunnel
src 192.168.4.0/24 dst 10.0.2.0/24
dir in priority 2344
tmpl src 192.168.4.10 dst 10.0.2.15
proto esp reqid 16389 mode tunnel
If I switch back to the IKE v2 configuration settings removing the remarks from
# keyexchange=ikev2
# mobike=yes,
than I am stuck with the initial problem of being unable to authenticate a tunnel.
Is there any way to troubleshoot this?
Serge
> ----- Original Message -----
> From: Volker Rümelin
> Sent: 12/31/13 04:25 PM
> To: s s
> Subject: Re: [strongSwan] strongswan-5.1.1 with 4.xx, tunnel pb
>
> > Hello Volker,
> >
> >> This packet was a large packet and was sent as two UDP fragments. One or possibly both fragments were
> >> dropped on the route to the other side.
> > Is it possible to handle the packets fragmentation to fix the problem?
> > Unfortunately, the real world situation is such that in the majority of cases it is impossible to intervene on the intermediate router (provider's setup, hot spots etc).
> > Initially this was the reason that we started to store the certificated locally on each side. Otherwise even initial IKE handshake was unsuccessful.
> >
> >> I can see this is still your setup with the NAT router.
> >> you should try to fix the router.
> > There is no possibility to do that.
> >
> > Looking forward to your thoughts and wish you a Happy New Year!
> > Regards,
> > Serge
> >
> >
>
> Hello Serge,
>
> for a fixed site to site tunnel I would complain to my provider, as I
> pay for the service and they have to fix the router if it's broken.
>
> I agree this is not a real option for the road warrior case.
>
> I only have some limited experience with Windows road warriors. If
> ikev2 VPN doesn't work, it's possible to switch back to ikev1 ipsec/l2tp
> VPN. The proprietary ikev1 fragmentation extension
> (http://wiki.strongswan.org/projects/strongswan/wiki/ConnSection and
> search for fragmentation) allows to build up the tunnel and if you
> select a small enough MTU/MRU in the ppp setup, the data packets don't
> get fragmented. You can do the same. I have to admit this is a ugly
> solution, but it works.
>
> I wish you a Happy New Year,
> Volker
----
Hello,
I am having a persistent problem of being unable to establish a tunnel between two strongswan hosts
root at bt:/etc/ipsec.d# ipsec up karmaIKE2
initiating IKE_SA karmaIKE2[3] to 192.168.4.10
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
sending packet: from 10.0.2.15[500] to 192.168.4.10[500]
received packet: from 192.168.4.10[500] to 10.0.2.15[500]
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
local host is behind NAT, sending keep alives
received cert request for "STR4.3CA"
received cert request for unknown ca with keyid b0:31:27:8b:2e:4b:cd:53:6d:c4:a7:fb:e9:56:1b:9f:34:cc:71:a7
sending cert request for "STR4.3CA"
authentication of 'STR4.3host.cert' (myself) with RSA signature successful
sending end entity cert "STR4.3host.cert"
establishing CHILD_SA karmaIKE2
generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
retransmit 1 of request with message ID 1
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
retransmit 2 of request with message ID 1
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
The status is stuck on "CONNECTING", which never happens:
root at bt:/etc/ipsec.d# ipsec statusall
karmaIKE2: 10.0.2.15...192.168.4.10
karmaIKE2: local: [STR4.3host.cert] uses public key authentication
karmaIKE2: cert: "STR4.3host.cert"
karmaIKE2: remote: [karma.ucp-is.com] uses any authentication
karmaIKE2: cert: "KRM5.1host.cert"
karmaIKE2: child: 10.0.2.0/24 === 192.168.4.0/24
Security Associations:
karmaIKE2[15]: CONNECTING, 10.0.2.15[STR4.3host.cert]...192.168.4.10[KRM5.1host.cert]
karmaIKE2[15]: IKE SPIs: 6d2c0e380935a207_i* 518160338263e01f_r
After 5 rekying attempts, it stops.
Dec 29 22:23:27 bt charon: 07[ENC] generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
Dec 29 22:23:27 bt charon: 07[NET] sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
==> /var/log/syslog <==
Dec 29 22:23:31 bt charon: 09[IKE] retransmit 1 of request with message ID 1
Dec 29 22:23:31 bt charon: 09[NET] sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
==> /var/log/daemon.log <==
Dec 29 22:23:31 bt charon: 09[IKE] retransmit 1 of request with message ID 1
Dec 29 22:23:31 bt charon: 09[NET] sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
==> /var/log/syslog <==
Dec 29 22:23:38 bt charon: 15[IKE] retransmit 2 of request with message ID 1
Dec 29 22:23:38 bt charon: 15[NET] sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
The policy for the channel does sets up, but nothing works
[root at karma strongswan]# ip xfrm policy
src 10.0.2.0/24 dst 192.168.4.0/24
dir in priority 1859
tmpl src 192.168.4.87 dst 192.168.4.10
proto esp reqid 4 mode tunnel
src 192.168.4.0/24 dst 10.0.2.0/24
dir out priority 1859
tmpl src 192.168.4.10 dst 192.168.4.87
proto esp reqid 4 mode tunnel
src 10.0.2.0/24 dst 192.168.4.0/24
dir fwd priority 1859
tmpl src 192.168.4.87 dst 192.168.4.10
proto esp reqid 4 mode tunnel
Any hint how to fix it would be highly appreciated,
Regards,
Serge
Is the 4.xx branch compatible with the 5.x one?
I am unable to establish a tunnel in between 2 strongswan hosts one running the strongSwan U4.3.2/K2.6.38
and the second strongSwan U5.1.1/K2.6.18-308.16.1.el5PAE
The configuration is more than classical: net-net
conn karmaIKE2
left=%defaultroute
leftsubnet=10.0.2.0/24
leftcert=btvm34.hostCert.pem
right=192.168.4.10
rightsubnet=192.168.4.0/24
rightcert=peercerts/karmaY2034.hostCert.pem
keyexchange=ikev2
mobike=yes
auto=add
root at bt:/etc/ipsec.d# ipsec up karmaIKE2
initiating IKE_SA karmaIKE2[1] to 192.168.4.10
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) ]
sending packet: from 10.0.2.15[500] to 192.168.4.10[500]
received packet: from 192.168.4.10[500] to 10.0.2.15[500]
parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
local host is behind NAT, sending keep alives
received cert request for "STR4.3CA"
received cert request for unknown ca with keyid b0:31:27:8b:2e:4b:cd:53:6d:c4:a7:fb:e9:56:1b:9f:34:cc:71:a7
sending cert request for "STR4.3CA"
authentication of 'STR4.3host.cert' (myself) with RSA signature successful
sending end entity cert "STR4.3host.cert"
establishing CHILD_SA karmaIKE2
generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
retransmit 1 of request with message ID 1
sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
But the tunnel
root at bt:/etc/ipsec.d# ipsec statusall
000 Status of IKEv1 pluto daemon (strongSwan 4.3.2):
000 interface lo/lo ::1:500
000 interface lo/lo 127.0.0.1:500
000 interface eth0/eth0 10.0.2.15:500
000 %myid = (none)
000 loaded plugins: curl ldap random pubkey openssl hmac gmp
000 debug options: none
000
Status of IKEv2 charon daemon (strongSwan 4.3.2):
uptime: 7 minutes, since Dec 23 10:27:59 2013
worker threads: 9 idle of 16, job queue load: 0, scheduled events: 1
loaded plugins: curl ldap random x509 pubkey openssl xcbc hmac agent gmp kernel-netlink stroke updown eapidentity eapmd5 eapgtc eapaka eapmschapv2
Listening IP addresses:
10.0.2.15
Connections:
karmaIKE2: 10.0.2.15...192.168.4.10
karmaIKE2: local: [STR4.3host.cert] uses public key authentication
karmaIKE2: cert: "STR4.3host.cert"
karmaIKE2: remote: [STR5.1host.cert] uses any authentication
karmaIKE2: cert: STR5.1host.cert"
karmaIKE2: child: 10.0.2.0/24 === 0.0.0.0/0
Security Associations:
karmaIKE2[1]: CREATED, 10.0.2.15[STR4.3host.cert]...192.168.4.10[STR5.1host.cert]
karmaIKE2[1]: IKE SPIs: 3483591a1d20afaf_i* 0000000000000000_r
karmaIKE2[1]: IKE proposal: AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048
The logs show
Dec 23 10:32:01 bt charon: 16[IKE] establishing CHILD_SA karmaIKE2
Dec 23 10:32:01 bt charon: 16[ENC] generating IKE_AUTH request 1 [ IDi CERT CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(MULT_AUTH) ]
Dec 23 10:32:01 bt charon: 16[NET] sending packet: from 10.0.2.15[4500] to 192.168.4.10[4500]
But this child tunnel could not be setup.
Which result in the inability to reach the hosts and the the networks behind them.
I am still running the routing problem between the same two strongSwan U5.1.1/K2.6.18-308.16.1.el5PAE hosts, one of them being behind the NATed gateway and unable to reach it through the tunnel, which apparently doesn't route the packets.
Any help would be much appreciated.
Rgds,
Serge
----
Is standard Centos 5.x kernel 2.6.18-308.16.1.el5PAE compatible at all with
[root@ ~]# strongswan version
Linux strongSwan U5.1.1/K2.6.18-308.16.1.el5PAE
We are unable to fix the routing problem. When the remote host is behind the NAT'ed provider's server, it can not be reached at all:
msc-hmnet{12}: 192.168.4.0/24 === 192.168.3.0/24
[root at karma ~]# ping 192.168.3.56
PING 192.168.3.56 (192.168.3.56) 56(84) bytes of data.
--- 192.168.3.56 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms
----
> > But out of the 2 tunnels only 1 is reachable. The other one doesn't ping.
> Does that tunnel work if you don't establish the other one?
No, it doesn't.
Besides, once the 192.168.3.0/24 host is behind the NAT'ed gateway, neither of the tunnels work.
> Also, I'd try to disable IPComp for testing. There seems to be an issue
> with IPcomp on some kernels in some scenarios.
What an IPComp is and how to disable it ?
We use a standard Centos 5.x kernel
2.6.18-308.16.1.el5PAE #1 SMP Tue Oct 2 22:49:17 EDT 2012 i686 i686 i386 GNU/Linux
Could anyone help to troubleshoot the problem and resolve the issue?
Rgds,
Serge
More information about the Users
mailing list