PRE-TEST moon# iptables-restore < /etc/iptables.rules sun# iptables-restore < /etc/iptables.rules moon# systemctl start strongswan sun# systemctl start strongswan moon# expect-connection gw-gw sun# expect-connection gw-gw moon# swanctl --initiate --child net-net 2> /dev/null [IKE] initiating IKE_SA gw-gw[1] to 192.168.0.2 [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.1[500] to 192.168.0.2[500] (240 bytes) [NET] received packet: from 192.168.0.2[500] to 192.168.0.1[500] (273 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/CURVE_25519 [IKE] received cert request for "C=CH, O=strongSwan Project, OU=SHA-3, CN=strongSwan Root CA" [IKE] sending cert request for "C=CH, O=strongSwan Project, OU=SHA-3, CN=strongSwan Root CA" [IKE] authentication of 'moon.strongswan.org' (myself) with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] sending end entity cert "C=CH, O=strongSwan Project, OU=SHA-3, CN=moon.strongswan.org" [IKE] establishing CHILD_SA net-net{1} [ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH SA TSi TSr N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ] [ENC] splitting IKE message (1888 bytes) into 2 fragments [ENC] generating IKE_AUTH request 1 [ EF(1/2) ] [ENC] generating IKE_AUTH request 1 [ EF(2/2) ] [NET] sending packet: from 192.168.0.1[500] to 192.168.0.2[500] (1252 bytes) [NET] sending packet: from 192.168.0.1[500] to 192.168.0.2[500] (708 bytes) [NET] received packet: from 192.168.0.2[500] to 192.168.0.1[500] (1252 bytes) [ENC] parsed IKE_AUTH response 1 [ EF(1/2) ] [ENC] received fragment #1 of 2, waiting for complete IKE message [NET] received packet: from 192.168.0.2[500] to 192.168.0.1[500] (628 bytes) [ENC] parsed IKE_AUTH response 1 [ EF(2/2) ] [ENC] received fragment #2 of 2, reassembled fragmented IKE message (1808 bytes) [ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH SA TSi TSr ] [IKE] received end entity cert "C=CH, O=strongSwan Project, OU=SHA-3, CN=sun.strongswan.org" [CFG] using certificate "C=CH, O=strongSwan Project, OU=SHA-3, CN=sun.strongswan.org" [CFG] using trusted ca certificate "C=CH, O=strongSwan Project, OU=SHA-3, CN=strongSwan 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=SHA-3, CN=sun.strongswan.org" [CFG] fetching crl from 'http://crl.strongswan.org/strongswan_sha3_rsa.crl' ... [CFG] using trusted certificate "C=CH, O=strongSwan Project, OU=SHA-3, CN=strongSwan Root CA" [CFG] crl correctly signed by "C=CH, O=strongSwan Project, OU=SHA-3, CN=strongSwan Root CA" [CFG] crl is valid: until Mar 25 18:47:45 2025 [CFG] certificate status is good [IKE] authentication of 'sun.strongswan.org' with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] IKE_SA gw-gw[1] established between 192.168.0.1[moon.strongswan.org]...192.168.0.2[sun.strongswan.org] [IKE] scheduling reauthentication in 10656s [IKE] maximum IKE_SA lifetime 11736s [CFG] selected proposal: ESP:AES_GCM_16_128/NO_EXT_SEQ [IKE] CHILD_SA net-net{1} established with SPIs c4551ec1_i c5ae62d2_o and TS 10.1.0.0/16 === 10.2.0.0/16 initiate completed successfully TEST moon# swanctl --list-sas --raw 2> /dev/null | grep 'gw-gw.*version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=500 local-id=moon.strongswan.org remote-host=192.168.0.2 remote-port=500 remote-id=sun.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=CURVE_25519.*child-sas.*net-net.*state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=128.*local-ts=\[10.1.0.0/16] remote-ts=\[10.2.0.0/16]' [YES] list-sa event {gw-gw {uniqueid=1 version=2 state=ESTABLISHED local-host=192.168.0.1 local-port=500 local-id=moon.strongswan.org remote-host=192.168.0.2 remote-port=500 remote-id=sun.strongswan.org initiator=yes initiator-spi=911dd5d1e11046db responder-spi=d64294cefd3bdf6b encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519 established=0 reauth-time=10656 child-sas {net-net-1 {name=net-net uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c4551ec1 spi-out=c5ae62d2 encr-alg=AES_GCM_16 encr-keysize=128 bytes-in=0 packets-in=0 bytes-out=0 packets-out=0 rekey-time=4866 life-time=5940 install-time=0 local-ts=[10.1.0.0/16] remote-ts=[10.2.0.0/16]}}}} sun# swanctl --list-sas --raw 2> /dev/null | grep 'gw-gw.*version=2 state=ESTABLISHED local-host=192.168.0.2 local-port=500 local-id=sun.strongswan.org remote-host=192.168.0.1 remote-port=500 remote-id=moon.strongswan.org.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519.*child-sas.*net-net.*state=INSTALLED mode=TUNNEL.*ESP.*encr-alg=AES_GCM_16 encr-keysize=128.*local-ts=\[10.2.0.0/16] remote-ts=\[10.1.0.0/16]' [YES] list-sa event {gw-gw {uniqueid=1 version=2 state=ESTABLISHED local-host=192.168.0.2 local-port=500 local-id=sun.strongswan.org remote-host=192.168.0.1 remote-port=500 remote-id=moon.strongswan.org initiator-spi=911dd5d1e11046db responder-spi=d64294cefd3bdf6b encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519 established=0 reauth-time=9990 child-sas {net-net-1 {name=net-net uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c5ae62d2 spi-out=c4551ec1 encr-alg=AES_GCM_16 encr-keysize=128 bytes-in=0 packets-in=0 bytes-out=0 packets-out=0 rekey-time=4861 life-time=5940 install-time=0 local-ts=[10.2.0.0/16] remote-ts=[10.1.0.0/16]}}}} alice# ping -c 1 10.2.0.10 | grep '64 bytes from 10.2.0.10: icmp_.eq=1' [YES] 64 bytes from 10.2.0.10: icmp_seq=1 ttl=62 time=5.28 ms sun# killall tcpdump sun# cat /tmp/tcpdump.log | grep 'IP moon.strongswan.org > sun.strongswan.org: ESP' [YES] 18:50:17.322275 IP moon.strongswan.org > sun.strongswan.org: ESP(spi=0xc5ae62d2,seq=0x1), length 120 sun# cat /tmp/tcpdump.log | grep 'IP sun.strongswan.org > moon.strongswan.org: ESP' [YES] 18:50:17.323154 IP sun.strongswan.org > moon.strongswan.org: ESP(spi=0xc4551ec1,seq=0x1), length 120 POST-TEST moon# swanctl --terminate --ike gw-gw 2> /dev/null [IKE] deleting IKE_SA gw-gw[1] between 192.168.0.1[moon.strongswan.org]...192.168.0.2[sun.strongswan.org] [IKE] sending DELETE for IKE_SA gw-gw[1] [ENC] generating INFORMATIONAL request 2 [ D ] [NET] sending packet: from 192.168.0.1[500] to 192.168.0.2[500] (80 bytes) [NET] received packet: from 192.168.0.2[500] to 192.168.0.1[500] (80 bytes) [ENC] parsed INFORMATIONAL response 2 [ ] [IKE] IKE_SA deleted terminate completed successfully moon# systemctl stop strongswan sun# systemctl stop strongswan moon# iptables-restore < /etc/iptables.flush sun# iptables-restore < /etc/iptables.flush