<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Strongswan-users,<div><br></div><div>I have a set up that requires IKEv1 and I'm running into a problem when the IKEv1 Phase 1 (IKE SA) rekeys.  Phase 1 appears to rekey correctly, but deletes the Phase 2 SAs.</div><div>Based on the following website, IPsec SAs are supposed to be adopted by the new IKE SA and not recreated: <a href="https://wiki.strongswan.org/projects/strongswan/wiki/ExpiryRekey">https://wiki.strongswan.org/projects/strongswan/wiki/ExpiryRekey</a><br><b style="color:rgb(54,0,12);font-family:Verdana,sans-serif;font-size:10.8px">"IKEv1</b><span style="color:rgb(54,0,12);font-family:Verdana,sans-serif;font-size:10.8px"> SAs are also rekeyed/reauthenticated using a make-before-break scheme, however, only the IKE SA is affected. IPsec SAs are adopted by the new IKE SA and not recreated."</span><br></div><div><br></div><div>In this setup the Strongswan (192.19.22.10) is configured as the Responder and a Cisco IOS (192.19.22.1) device as the Initiator.</div><div>The initial connection is established, and the traffic is sent ESP encapsulated.  The initiator attempts to rekey the IKE SA, and appears to succeed.</div><div>Both the Initiator and the Responder are shown with the new IKE SA SPIs, but during the IKE SA rekey Strongswan deletes the SAD entries for the IPsec SAs.</div><div><br></div><div>Can someone please assist with troubleshooting this issue?</div><div>I am unable to determine if this is due to a configuration with the connections in ipsec.conf, a setting in charon.conf, or if this is an issue with how Cisco IOS attempts to rekey IKE SAs.</div><div>Cisco appears to be sending a DELETE message as per <a href="https://tools.ietf.org/html/draft-jenkins-ipsec-rekeying-06#section-3.2">https://tools.ietf.org/html/draft-jenkins-ipsec-rekeying-06#section-3.2</a>.</div><div><br></div><div>I've included the 'ipsec statusall' outputs, ipsec.conf, and charon_debug.log</div><div>(I've added charon_debug.log as an attachment, would it have been better to copy and paste into the body of the email?)</div><div>#####</div><div># ipsec.conf - strongSwan IPsec configuration file<br></div><div><div><br></div><div># basic configuration</div><div>config setup<br></div><div>    # strictcrlpolicy=yes</div><div>    # uniqueids = no</div><div><br></div><div># Add connections here.</div><div>conn VPNPeer <br></div><div>        leftfirewall=yes</div><div>        keyexchange=ikev1</div><div>        </div><div>        # Phase 1 settings</div><div>        ikelifetime=24h</div><div>        margintime=0</div><div>        rekeyfuzz=0%</div><div>        lifetime=8h</div><div>        ike=aes256-sha1-modp2048 !</div><div>        </div><div>        # Phase 2</div><div>        esp=aes128-sha1-modp2048 !</div><div>    </div><div>        left=192.19.22.10</div><div>        right=192.19.22.1</div><div><br></div><div>        authby=psk</div><div><br></div><div>        type=tunnel</div><div><br></div><div>        auto=add</div><div>        </div><div>        # Rekeying</div><div>        #rekey=no</div><div><br></div><div>include /var/lib/strongswan/ipsec.conf.inc</div></div><div><br></div><div><br></div><div>#####</div><div>Here are the results from 'ipsec statusall':</div><div><div>Initial connection:<br></div><div>#ipsec statusall<br></div><div><br></div><div>Status of IKE charon daemon (weakSwan 5.8.4, Linux 5.5.0-kali2-amd64, x86_64):</div><div>  uptime: 20 seconds, since Mar 09 13:32:08 2021<br></div><div>  malloc: sbrk 1622016, mmap 0, used 610688, free 1011328<br></div><div>  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 3<br></div><div>  loaded plugins: charon aesni aes rc2 sha2 sha1 md5 mgf1 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm drbg attr kernel-netlink resolve socket-default connmark stroke updown eap-mschapv2 xauth-generic counters<br></div><div><br></div><div>Listening IP addresses:</div><div>  192.19.22.10<br></div><div>  172.19.22.10<br></div><div>  172.17.0.1<br></div><div>Connections:<br></div><div>     VPNPeer:  192.19.22.10...192.19.22.1  IKEv1<br></div><div>     VPNPeer:   local:  [192.19.22.10] uses pre-shared key authentication<br></div><div>     VPNPeer:   remote: [192.19.22.1] uses pre-shared key authentication<br></div><div>     VPNPeer:   child:  dynamic === dynamic TUNNEL<br></div><div><br></div><div>Security Associations (1 up, 0 connecting):</div><div>     VPNPeer[1]: ESTABLISHED 11 seconds ago, 192.19.22.10[192.19.22.10]...192.19.22.1[192.19.22.1]<br></div><div>     VPNPeer[1]: IKEv1 SPIs: e53ec81750a41b9c_i 84f72669eb1b150b_r*, pre-shared key reauthentication in 23 hours<br></div><div>     VPNPeer[1]: IKE proposal: AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048<br></div><div>     VPNPeer{1}:  INSTALLED, TUNNEL, reqid 1, ESP SPIs: c8bf9eca_i 2d5a8f29_o<br></div><div>     VPNPeer{1}:  AES_CBC_128/HMAC_SHA1_96/MODP_2048, 400 bytes_i (4 pkts, 9s ago), 400 bytes_o (4 pkts, 9s ago), rekeying in 7 hours<br></div><div>     VPNPeer{1}:   <a href="http://192.19.22.10/32">192.19.22.10/32</a> === <a href="http://192.19.22.1/32">192.19.22.1/32</a><br></div><div><br></div><div> </div><div> <br></div><div>After IKE Phase 1 rekey:<br></div><div>#ipsec statusall<br></div><div><br></div><div>Status of IKE charon daemon (weakSwan 5.8.4, Linux 5.5.0-kali2-amd64, x86_64):</div><div>  uptime: 6 minutes, since Mar 09 13:32:08 2021<br></div><div>  malloc: sbrk 1622016, mmap 0, used 640656, free 981360<br></div><div>  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 5<br></div><div>  loaded plugins: charon aesni aes rc2 sha2 sha1 md5 mgf1 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm drbg attr kernel-netlink resolve socket-default connmark stroke updown eap-mschapv2 xauth-generic counters<br></div><div><br></div><div>Listening IP addresses:</div><div>  192.19.22.10<br></div><div>  172.19.22.10<br></div><div>  172.17.0.1<br></div><div>Connections:<br></div><div>     VPNPeer:  192.19.22.10...192.19.22.1  IKEv1<br></div><div>     VPNPeer:   local:  [192.19.22.10] uses pre-shared key authentication<br></div><div>     VPNPeer:   remote: [192.19.22.1] uses pre-shared key authentication<br></div><div>     VPNPeer:   child:  dynamic === dynamic TUNNEL<br></div><div><br></div><div>Security Associations (1 up, 0 connecting):</div><div>     VPNPeer[2]: ESTABLISHED 9 seconds ago, 192.19.22.10[192.19.22.10]...192.19.22.1[192.19.22.1]<br></div><div>     VPNPeer[2]: IKEv1 SPIs: e53ec81702d2cc91_i 47da289647a60462_r*, pre-shared key reauthentication in 23 hours<br></div><div>     VPNPeer[2]: IKE proposal: AES_CBC_256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_2048<br></div></div><div><br></div><div>#####</div><div># charon_debug.log - attached.<br><br></div><div><br></div></div></div></div></div></div></div></div></div>