PRE-TEST moon# iptables-restore < /etc/iptables.rules carol# iptables-restore < /etc/iptables.rules dave# iptables-restore < /etc/iptables.rules carol# rm /etc/swanctl/rsa/carolKey.pem dave# rm /etc/swanctl/rsa/daveKey.pem moon# rm /etc/swanctl/rsa/moonKey.pem moon# systemctl start strongswan carol# systemctl start strongswan dave# systemctl start strongswan moon# expect-connection rw carol# expect-connection home carol# swanctl --initiate --child home 2> /dev/null [IKE] initiating IKE_SA home[1] to 192.168.0.1 [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) ] [NET] sending packet: from 192.168.0.100[500] to 192.168.0.1[500] (272 bytes) [NET] received packet: from 192.168.0.1[500] to 192.168.0.100[500] (305 bytes) [ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ] [CFG] selected proposal: IKE:AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256 [IKE] received cert request for "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [IKE] sending cert request for "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [IKE] authentication of 'carol@strongswan.org' (myself) with ECDSA_WITH_SHA256_DER successful [IKE] sending end entity cert "C=CH, O=strongSwan Project, OU=ECDSA 256 bit, CN=carol@strongswan.org" [IKE] establishing CHILD_SA home{1} [ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ] [NET] sending packet: from 192.168.0.100[4500] to 192.168.0.1[4500] (1008 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.100[4500] (1104 bytes) [ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] [IKE] received end entity cert "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] using certificate "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] reached self-signed root ca with a path length of 0 [CFG] checking certificate status of "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] fetching crl from 'http://crl.strongswan.org/strongswan_ecdsa.crl' ... [CFG] using trusted certificate "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] crl correctly signed by "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] crl is valid: until Mar 25 18:47:45 2025 [CFG] certificate status is good [IKE] authentication of 'moon.strongswan.org' with ECDSA_WITH_SHA512_DER successful [IKE] peer supports MOBIKE [IKE] IKE_SA home[1] established between 192.168.0.100[carol@strongswan.org]...192.168.0.1[moon.strongswan.org] [IKE] scheduling rekeying in 14378s [IKE] maximum IKE_SA lifetime 15818s [CFG] selected proposal: ESP:AES_GCM_16_128/NO_EXT_SEQ [IKE] CHILD_SA home{1} established with SPIs cf94d9d5_i c464943c_o and TS 192.168.0.100/32 === 10.1.0.0/16 initiate completed successfully dave# expect-connection home dave# swanctl --initiate --child home 2> /dev/null [IKE] initiating IKE_SA home[1] to 192.168.0.1 [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) ] [NET] sending packet: from 192.168.0.200[500] to 192.168.0.1[500] (304 bytes) [NET] received packet: from 192.168.0.1[500] to 192.168.0.200[500] (337 bytes) [ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(FRAG_SUP) N(HASH_ALG) N(CHDLESS_SUP) N(MULT_AUTH) ] [CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA2_384_192/PRF_HMAC_SHA2_384/ECP_384 [IKE] received cert request for "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [IKE] sending cert request for "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [IKE] authentication of 'dave@strongswan.org' (myself) with ECDSA_WITH_SHA384_DER successful [IKE] sending end entity cert "C=CH, O=strongSwan Project, OU=ECDSA 384 bit, CN=dave@strongswan.org" [IKE] establishing CHILD_SA home{1} [ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ] [NET] sending packet: from 192.168.0.200[4500] to 192.168.0.1[4500] (1080 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.200[4500] (1112 bytes) [ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH SA TSi TSr N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_6_ADDR) N(ADD_6_ADDR) ] [IKE] received end entity cert "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] using certificate "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] using trusted ca certificate "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] reached self-signed root ca with a path length of 0 [CFG] checking certificate status of "C=CH, O=strongSwan Project, OU=ECDSA 512 bit, CN=moon.strongswan.org" [CFG] fetching crl from 'http://crl.strongswan.org/strongswan_ecdsa.crl' ... [CFG] using trusted certificate "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] crl correctly signed by "C=CH, O=strongSwan Project, CN=strongSwan EC Root CA" [CFG] crl is valid: until Mar 25 18:47:45 2025 [CFG] certificate status is good [IKE] authentication of 'moon.strongswan.org' with ECDSA_WITH_SHA512_DER successful [IKE] peer supports MOBIKE [IKE] IKE_SA home[1] established between 192.168.0.200[dave@strongswan.org]...192.168.0.1[moon.strongswan.org] [IKE] scheduling rekeying in 13955s [IKE] maximum IKE_SA lifetime 15395s [CFG] selected proposal: ESP:AES_GCM_16_256/NO_EXT_SEQ [IKE] CHILD_SA home{1} established with SPIs c43630b9_i c535483b_o and TS 192.168.0.200/32 === 10.1.0.0/16 initiate completed successfully TEST moon# cat /var/log/daemon.log | grep 'authentication of.*carol@strongswan.org.*with ECDSA_WITH_SHA256_DER successful' [YES] Mar 10 19:10:14 moon charon-systemd: 03[IKE] authentication of 'carol@strongswan.org' with ECDSA_WITH_SHA256_DER successful moon# cat /var/log/daemon.log | grep 'authentication of.*dave@strongswan.org.*with ECDSA_WITH_SHA384_DER successful' [YES] Mar 10 19:10:15 moon charon-systemd: 05[IKE] authentication of 'dave@strongswan.org' with ECDSA_WITH_SHA384_DER successful carol# cat /var/log/daemon.log | grep 'authentication of.*moon.strongswan.org.*with ECDSA_WITH_SHA512_DER successful' [YES] Mar 10 19:10:15 carol charon-systemd: 15[IKE] authentication of 'moon.strongswan.org' with ECDSA_WITH_SHA512_DER successful dave# cat /var/log/daemon.log | grep 'authentication of.*moon.strongswan.org.*with ECDSA_WITH_SHA512_DER successful' [YES] Mar 10 19:10:15 dave charon-systemd: 02[IKE] authentication of 'moon.strongswan.org' with ECDSA_WITH_SHA512_DER successful carol# ping -c 1 10.1.0.10 | grep '64 bytes from 10.1.0.10: icmp_.eq=1' [YES] 64 bytes from 10.1.0.10: icmp_seq=1 ttl=63 time=1.13 ms dave# ping -c 1 10.1.0.10 | grep '64 bytes from 10.1.0.10: icmp_.eq=1' [YES] 64 bytes from 10.1.0.10: icmp_seq=1 ttl=63 time=0.959 ms carol# swanctl --list-sas --raw 2> /dev/null | grep 'home.*version=2 state=ESTABLISHED local-host=192.168.0.100 local-port=4500 local-id=carol@strongswan.org remote-host=192.168.0.1 remote-port=4500 remote-id=moon.strongswan.org initiator=yes.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=ECP_256.*child-sas.*home.*state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=128.*local-ts=\[192.168.0.100/32] remote-ts=\[10.1.0.0/16]' [YES] list-sa event {home {uniqueid=1 version=2 state=ESTABLISHED local-host=192.168.0.100 local-port=4500 local-id=carol@strongswan.org remote-host=192.168.0.1 remote-port=4500 remote-id=moon.strongswan.org initiator=yes initiator-spi=b074326a77052a91 responder-spi=80776f7a1da09d0e encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=ECP_256 established=1 rekey-time=14377 child-sas {home-1 {name=home uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=cf94d9d5 spi-out=c464943c encr-alg=AES_GCM_16 encr-keysize=128 bytes-in=84 packets-in=1 use-in=1 bytes-out=84 packets-out=1 use-out=1 rekey-time=3338 life-time=3959 install-time=2 local-ts=[192.168.0.100/32] remote-ts=[10.1.0.0/16]}}}} dave# swanctl --list-sas --raw 2> /dev/null | grep 'home.*version=2 state=ESTABLISHED local-host=192.168.0.200 local-port=4500 local-id=dave@strongswan.org remote-host=192.168.0.1 remote-port=4500 remote-id=moon.strongswan.org initiator=yes.*encr-alg=AES_CBC encr-keysize=256 integ-alg=HMAC_SHA2_384_192 prf-alg=PRF_HMAC_SHA2_384 dh-group=ECP_384.*child-sas.*home.*state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=256.*local-ts=\[192.168.0.200/32] remote-ts=\[10.1.0.0/16]' [YES] list-sa event {home {uniqueid=1 version=2 state=ESTABLISHED local-host=192.168.0.200 local-port=4500 local-id=dave@strongswan.org remote-host=192.168.0.1 remote-port=4500 remote-id=moon.strongswan.org initiator=yes initiator-spi=86e793230a43110b responder-spi=f3531b2dcd2f32e4 encr-alg=AES_CBC encr-keysize=256 integ-alg=HMAC_SHA2_384_192 prf-alg=PRF_HMAC_SHA2_384 dh-group=ECP_384 established=1 rekey-time=13954 child-sas {home-1 {name=home uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c43630b9 spi-out=c535483b encr-alg=AES_GCM_16 encr-keysize=256 bytes-in=84 packets-in=1 use-in=1 bytes-out=84 packets-out=1 use-out=1 rekey-time=3286 life-time=3959 install-time=1 local-ts=[192.168.0.200/32] remote-ts=[10.1.0.0/16]}}}} moon# swanctl --list-sas --ike-id 1 --raw 2> /dev/null | grep 'rw.*version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=4500 local-id=moon.strongswan.org remote-host=192.168.0.100 remote-port=4500 remote-id=carol@strongswan.org.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=ECP_256.*child-sas.*net.*reqid=1 state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=128.*local-ts=\[10.1.0.0/16] remote-ts=\[192.168.0.100/32]' [YES] list-sa event {rw {uniqueid=1 version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=4500 local-id=moon.strongswan.org remote-host=192.168.0.100 remote-port=4500 remote-id=carol@strongswan.org initiator-spi=b074326a77052a91 responder-spi=80776f7a1da09d0e encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=ECP_256 established=1 rekey-time=14276 child-sas {net-1 {name=net uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c464943c spi-out=cf94d9d5 encr-alg=AES_GCM_16 encr-keysize=128 bytes-in=84 packets-in=1 use-in=0 bytes-out=84 packets-out=1 use-out=0 rekey-time=3248 life-time=3959 install-time=1 local-ts=[10.1.0.0/16] remote-ts=[192.168.0.100/32]}}}} moon# swanctl --list-sas --ike-id 2 --raw 2> /dev/null | grep 'rw.*version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=4500 local-id=moon.strongswan.org remote-host=192.168.0.200 remote-port=4500 remote-id=dave@strongswan.org.*encr-alg=AES_CBC encr-keysize=256 integ-alg=HMAC_SHA2_384_192 prf-alg=PRF_HMAC_SHA2_384 dh-group=ECP_384.*child-sas.*net.*reqid=2 state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=256.*local-ts=\[10.1.0.0/16] remote-ts=\[192.168.0.200/32]' [YES] list-sa event {rw {uniqueid=2 version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=4500 local-id=moon.strongswan.org remote-host=192.168.0.200 remote-port=4500 remote-id=dave@strongswan.org initiator-spi=86e793230a43110b responder-spi=f3531b2dcd2f32e4 encr-alg=AES_CBC encr-keysize=256 integ-alg=HMAC_SHA2_384_192 prf-alg=PRF_HMAC_SHA2_384 dh-group=ECP_384 established=1 rekey-time=13094 child-sas {net-2 {name=net uniqueid=2 reqid=2 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c535483b spi-out=c43630b9 encr-alg=AES_GCM_16 encr-keysize=256 bytes-in=84 packets-in=1 use-in=1 bytes-out=84 packets-out=1 use-out=1 rekey-time=3267 life-time=3959 install-time=1 local-ts=[10.1.0.0/16] remote-ts=[192.168.0.200/32]}}}} moon# killall tcpdump moon# cat /tmp/tcpdump.log | grep 'IP carol.strongswan.org > moon.strongswan.org: ESP' [YES] 19:10:15.503632 IP carol.strongswan.org > moon.strongswan.org: ESP(spi=0xc464943c,seq=0x1), length 120 moon# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > carol.strongswan.org: ESP' [YES] 19:10:15.504220 IP moon.strongswan.org > carol.strongswan.org: ESP(spi=0xcf94d9d5,seq=0x1), length 120 moon# cat /tmp/tcpdump.log | grep 'IP dave.strongswan.org > moon.strongswan.org: ESP' [YES] 19:10:15.532325 IP dave.strongswan.org > moon.strongswan.org: ESP(spi=0xc535483b,seq=0x1), length 120 moon# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > dave.strongswan.org: ESP' [YES] 19:10:15.532905 IP moon.strongswan.org > dave.strongswan.org: ESP(spi=0xc43630b9,seq=0x1), length 120 POST-TEST carol# swanctl --terminate --ike home [IKE] deleting IKE_SA home[1] between 192.168.0.100[carol@strongswan.org]...192.168.0.1[moon.strongswan.org] [IKE] sending DELETE for IKE_SA home[1] [ENC] generating INFORMATIONAL request 2 [ D ] [NET] sending packet: from 192.168.0.100[4500] to 192.168.0.1[4500] (80 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.100[4500] (80 bytes) [ENC] parsed INFORMATIONAL response 2 [ ] [IKE] IKE_SA deleted terminate completed successfully dave# swanctl --terminate --ike home [IKE] deleting IKE_SA home[1] between 192.168.0.200[dave@strongswan.org]...192.168.0.1[moon.strongswan.org] [IKE] sending DELETE for IKE_SA home[1] [ENC] generating INFORMATIONAL request 2 [ D ] [NET] sending packet: from 192.168.0.200[4500] to 192.168.0.1[4500] (88 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.200[4500] (88 bytes) [ENC] parsed INFORMATIONAL response 2 [ ] [IKE] IKE_SA deleted terminate completed successfully carol# systemctl stop strongswan dave# systemctl stop strongswan moon# systemctl stop strongswan carol# rm /etc/swanctl/pkcs8/carolKey.pem dave# rm /etc/swanctl/pkcs8/daveKey.pem moon# rm /etc/swanctl/pkcs8/moonKey.pem moon# iptables-restore < /etc/iptables.flush carol# iptables-restore < /etc/iptables.flush dave# iptables-restore < /etc/iptables.flush