PRE-TEST moon# iptables-restore < /etc/iptables.rules carol# iptables-restore < /etc/iptables.rules dave# iptables-restore < /etc/iptables.rules moon# ip6tables-restore < /etc/ip6tables.rules carol# ip6tables-restore < /etc/ip6tables.rules dave# ip6tables-restore < /etc/ip6tables.rules alice# ip route add fec3::/16 via fec1::1 moon# systemctl start strongswan carol# systemctl start strongswan dave# systemctl start strongswan moon# expect-connection rw carol# expect-connection home dave# expect-connection home carol# swanctl --initiate --child home [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] (240 bytes) [NET] received packet: from 192.168.0.1[500] to 192.168.0.100[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, CN=strongSwan Root CA" [IKE] sending cert request for "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [IKE] authentication of 'carol@strongswan.org' (myself) with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] sending end entity cert "C=CH, O=strongSwan Project, OU=Research, CN=carol@strongswan.org" [IKE] establishing CHILD_SA home{1} [ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH CPRQ(ADDR6) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ] [ENC] splitting IKE message (1968 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.100[4500] to 192.168.0.1[4500] (1236 bytes) [NET] sending packet: from 192.168.0.100[4500] to 192.168.0.1[4500] (804 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.100[4500] (1236 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.1[4500] to 192.168.0.100[4500] (756 bytes) [ENC] parsed IKE_AUTH response 1 [ EF(2/2) ] [ENC] received fragment #2 of 2, reassembled fragmented IKE message (1920 bytes) [ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH CPRP(ADDR6) 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, CN=moon.strongswan.org" [CFG] using certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org" [CFG] using trusted ca certificate "C=CH, O=strongSwan Project, 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, CN=moon.strongswan.org" [CFG] fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... [CFG] using trusted certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [CFG] crl correctly signed by "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [CFG] crl is valid: until Mar 25 18:47:43 2025 [CFG] certificate status is good [IKE] authentication of 'moon.strongswan.org' with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] installing new virtual IP fec3::1 [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 13074s [IKE] maximum IKE_SA lifetime 14514s [CFG] selected proposal: ESP:AES_CBC_128/HMAC_SHA2_256_128/NO_EXT_SEQ [IKE] CHILD_SA home{1} established with SPIs cdcfa799_i c801e12b_o and TS fec3::1/128 === fec1::/16 initiate completed successfully dave# swanctl --initiate --child home [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] (240 bytes) [NET] received packet: from 192.168.0.1[500] to 192.168.0.200[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, CN=strongSwan Root CA" [IKE] sending cert request for "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [IKE] authentication of 'dave@strongswan.org' (myself) with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] sending end entity cert "C=CH, O=strongSwan Project, OU=Accounting, CN=dave@strongswan.org" [IKE] establishing CHILD_SA home{1} [ENC] generating IKE_AUTH request 1 [ IDi CERT N(INIT_CONTACT) CERTREQ IDr AUTH CPRQ(ADDR6) SA TSi TSr N(MOBIKE_SUP) N(ADD_6_ADDR) N(MULT_AUTH) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ] [ENC] splitting IKE message (1968 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.200[4500] to 192.168.0.1[4500] (1236 bytes) [NET] sending packet: from 192.168.0.200[4500] to 192.168.0.1[4500] (804 bytes) [NET] received packet: from 192.168.0.1[4500] to 192.168.0.200[4500] (1236 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.1[4500] to 192.168.0.200[4500] (756 bytes) [ENC] parsed IKE_AUTH response 1 [ EF(2/2) ] [ENC] received fragment #2 of 2, reassembled fragmented IKE message (1920 bytes) [ENC] parsed IKE_AUTH response 1 [ IDr CERT AUTH CPRP(ADDR6) 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, CN=moon.strongswan.org" [CFG] using certificate "C=CH, O=strongSwan Project, CN=moon.strongswan.org" [CFG] using trusted ca certificate "C=CH, O=strongSwan Project, 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, CN=moon.strongswan.org" [CFG] fetching crl from 'http://crl.strongswan.org/strongswan.crl' ... [CFG] using trusted certificate "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [CFG] crl correctly signed by "C=CH, O=strongSwan Project, CN=strongSwan Root CA" [CFG] crl is valid: until Mar 25 18:47:43 2025 [CFG] certificate status is good [IKE] authentication of 'moon.strongswan.org' with RSA_EMSA_PKCS1_SHA2_256 successful [IKE] installing new virtual IP fec3::2 [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 13637s [IKE] maximum IKE_SA lifetime 15077s [CFG] selected proposal: ESP:AES_CBC_128/HMAC_SHA2_256_128/NO_EXT_SEQ [IKE] CHILD_SA home{1} established with SPIs ccb9d17e_i ca21a32a_o and TS fec3::2/128 === fec1::/16 initiate completed successfully TEST carol# ping6 -c 1 ip6-alice.strongswan.org | grep '64 bytes from ip6-alice.strongswan.org.*: icmp_seq=1' [YES] 64 bytes from ip6-alice.strongswan.org (fec1::10): icmp_seq=1 ttl=63 time=0.979 ms dave# ping6 -c 1 ip6-alice.strongswan.org | grep '64 bytes from ip6-alice.strongswan.org.*: icmp_seq=1' [YES] 64 bytes from ip6-alice.strongswan.org (fec1::10): icmp_seq=1 ttl=63 time=1.07 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=CURVE_25519.*local-vips=\[fec3:\:1] child-sas.*home.*reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128.*local-ts=\[fec3:\:1/128] remote-ts=\[fec1:\:/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=8b667f1df0b68fef responder-spi=fff792c552d65e58 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 rekey-time=13074 local-vips=[fec3::1] child-sas {home-1 {name=home uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=cdcfa799 spi-out=c801e12b encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 bytes-in=104 packets-in=1 use-in=0 bytes-out=104 packets-out=1 use-out=0 rekey-time=3373 life-time=3960 install-time=1 local-ts=[fec3::1/128] remote-ts=[fec1::/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=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519.*local-vips=\[fec3:\:2] child-sas.*home.*reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128.*local-ts=\[fec3:\:2/128] remote-ts=\[fec1:\:/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=f0e1fd2c5d7c002a responder-spi=ff02b7243ddc98c5 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 rekey-time=13637 local-vips=[fec3::2] child-sas {home-1 {name=home uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=ccb9d17e spi-out=ca21a32a encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 bytes-in=104 packets-in=1 use-in=0 bytes-out=104 packets-out=1 use-out=0 rekey-time=3437 life-time=3960 install-time=0 local-ts=[fec3::2/128] remote-ts=[fec1::/16]}}}} 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=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519.*remote-vips=\[fec3:\:2] child-sas.*net.*reqid=2 state=INSTALLED mode=TUNNEL protocol=ESP.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128.*local-ts=\[fec1:\:/16] remote-ts=\[fec3:\:2/128]' [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=f0e1fd2c5d7c002a responder-spi=ff02b7243ddc98c5 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 rekey-time=13748 remote-vips=[fec3::2] child-sas {net-2 {name=net uniqueid=2 reqid=2 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=ca21a32a spi-out=ccb9d17e encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 bytes-in=104 packets-in=1 use-in=0 bytes-out=104 packets-out=1 use-out=0 rekey-time=3289 life-time=3960 install-time=0 local-ts=[fec1::/16] remote-ts=[fec3::2/128]}}}} 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=CURVE_25519.*remote-vips=\[fec3:\:1] child-sas.*net.*reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP.*encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128.*local-ts=\[fec1:\:/16] remote-ts=\[fec3:\:1/128]' [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=8b667f1df0b68fef responder-spi=fff792c552d65e58 encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 prf-alg=PRF_HMAC_SHA2_256 dh-group=CURVE_25519 established=1 rekey-time=13138 remote-vips=[fec3::1] child-sas {net-1 {name=net uniqueid=1 reqid=1 state=INSTALLED mode=TUNNEL protocol=ESP spi-in=c801e12b spi-out=cdcfa799 encr-alg=AES_CBC encr-keysize=128 integ-alg=HMAC_SHA2_256_128 bytes-in=104 packets-in=1 use-in=0 bytes-out=104 packets-out=1 use-out=0 rekey-time=3352 life-time=3959 install-time=1 local-ts=[fec1::/16] remote-ts=[fec3::1/128]}}}} moon# killall tcpdump moon# cat /tmp/tcpdump.log | grep 'carol.strongswan.org > moon.strongswan.org: ESP' [YES] 19:44:16.207089 IP carol.strongswan.org > moon.strongswan.org: ESP(spi=0xc801e12b,seq=0x1), length 152 moon# cat /tmp/tcpdump.log | grep 'moon.strongswan.org > carol.strongswan.org: ESP' [YES] 19:44:16.207647 IP moon.strongswan.org > carol.strongswan.org: ESP(spi=0xcdcfa799,seq=0x1), length 152 moon# cat /tmp/tcpdump.log | grep 'dave.strongswan.org > moon.strongswan.org: ESP' [YES] 19:44:16.236597 IP dave.strongswan.org > moon.strongswan.org: ESP(spi=0xca21a32a,seq=0x1), length 152 moon# cat /tmp/tcpdump.log | grep 'moon.strongswan.org > dave.strongswan.org: ESP' [YES] 19:44:16.237190 IP moon.strongswan.org > dave.strongswan.org: ESP(spi=0xccb9d17e,seq=0x1), length 152 POST-TEST moon# systemctl stop strongswan carol# systemctl stop strongswan dave# systemctl stop strongswan moon# iptables-restore < /etc/iptables.flush carol# iptables-restore < /etc/iptables.flush dave# iptables-restore < /etc/iptables.flush moon# ip6tables-restore < /etc/ip6tables.flush carol# ip6tables-restore < /etc/ip6tables.flush dave# ip6tables-restore < /etc/ip6tables.flush alice# ip route del fec3::/16 via fec1::1