On Tue, 10 Dec 2019, Peter Rofner wrote:

Here are some logs I have. Hopefully this works and provides some clues.

This is where I commented out ikev2=no and the connection fails:

Dec 10 07:04:14 [pluto] "Richmond_Home" #1: initiating v2 parent SA

Dec 10 07:04:14 [pluto] "Richmond_Home" #2: IKE SA authentication request rejected by peer: AUTHENTICATION_FAILED

Do you have a log of the peer for this? Only that end knows why it
rejected this.

Dec 10 07:04:21 [pluto] "Richmond_Home" #3: processing IKE_SA_INIT request: SA,KE,Ni,N,N,N (message arrived 0 seconds ago)

Interestingly, while this end's attempt is failing, the other end is
starting its own attempt to this end.

Dec 10 07:04:21 [pluto] "Richmond_Home" #3: Authenticated using authby=secret

Which seems to succeed here.

proposals 1:ESP:ENCR=AES_GCM_C_256;ESN=DISABLED[first-match] 2:ESP:ENCR=AES_GCM_C_128;ESN=DISABLED 3:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_512_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED 4:ESP:ENCR=AES_CBC_128;INTEG=HMAC_SHA2_512_256;INTEG=HMAC_SHA2_256_128;ESN=DISABLED 5:ESP:ENCR=AES_CBC_128;INTEG=HMAC_SHA1_96;ESN=DISABLED Dec 10 07:04:21 [pluto] "Richmond_Home" #3: ERROR: netlink response for Add SA [email protected] included errno 38: Function not implemented

It negotiated AES_GCM_C wit 256bit key with no ESN. Which should be fine
and be accepted by the kernel. yet it is not? Very strange.

And the log when ikev2=no returned to the ipsec.conf file and the connection establishes:

Dec 10 07:09:17 [pluto] "Richmond_Home" #1: initiating Main Mode

Dec 10 07:09:17 [pluto] "Richmond_Home" #1: STATE_MAIN_I4: ISAKMP SA established {auth=PRESHARED_KEY cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP2048}

authentication passed.

Dec 10 07:09:18 [pluto] "Richmond_Home" #2: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode {ESP=>0x21824963 <0x4640938b xfrm=AES_CBC_128-HMAC_SHA1_96 NATOA=none NATD=none DPD=passive}

And here it installed AES-CBC with a 128 bit key and sha1.

So in theory, it could be that your kernel does not support AES_GCM. It
would be weird but consistent with the logs. But it still does not
answer why the authentication failed for IKEv2. For that we need to see
the logs of that remote server.

One other difference between this connection and others my server is connecting to is this endpoint has a dynamic gateway so I can't add a static rightnexthop while all the other connections are fully static. Not sure if that's an influence or not.

It could also lead to selecting a different (wrong?) PSK if you have
multiple different ones. Setting leftid/rightid explicitely and not
depending on the IP address as ID might stabilize that better.

Paul
_______________________________________________
Swan mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan

Reply via email to