/testing/guestbin/swan-prep
west #
 # confirm that the network is alive
west #
 ../../guestbin/wait-until-alive -I 192.1.2.45 192.1.2.23
destination -I 192.1.2.45 192.1.2.23 is alive
west #
 # ensure that clear text does not get through
west #
 iptables -A INPUT -i eth1 -s 192.1.2.23/32 -p icmp -j DROP
west #
 iptables -I INPUT -m policy --dir in --pol ipsec -j ACCEPT
west #
 # confirm clear text does not get through
west #
 ../../guestbin/ping-once.sh --down -I 192.1.2.45 192.1.2.23
down
west #
 ipsec start
Redirecting to: [initsystem]
west #
 ../../guestbin/wait-until-pluto-started
west #
 ipsec auto --add ipv4-psk-ikev2-transport
"ipv4-psk-ikev2-transport": added IKEv2 connection
west #
 ipsec auto --status | grep ipv4-psk-ikev2-transport
"ipv4-psk-ikev2-transport": 192.1.2.45[@west]...192.1.2.23[@east]; unrouted; my_ip=unset; their_ip=unset;
"ipv4-psk-ikev2-transport":   host: oriented; local: 192.1.2.45; remote: 192.1.2.23;
"ipv4-psk-ikev2-transport":   my_updown=ipsec _updown;
"ipv4-psk-ikev2-transport":   xauth us:none, xauth them:none,  my_username=[any]; their_username=[any]
"ipv4-psk-ikev2-transport":   our auth:secret, their auth:secret, our autheap:none, their autheap:none;
"ipv4-psk-ikev2-transport":   modecfg info: us:none, them:none, modecfg policy:push, dns:unset, domains:unset, cat:unset;
"ipv4-psk-ikev2-transport":   sec_label:unset;
"ipv4-psk-ikev2-transport":   ike_life: 28800s; ipsec_life: 28800s; ipsec_max_bytes: 2^63B; ipsec_max_packets: 2^63; replay_window: 128; rekey_margin: 540s; rekey_fuzz: 100%;
"ipv4-psk-ikev2-transport":   retransmit-interval: 9999ms; retransmit-timeout: 99s; iketcp:no; iketcp-port:4500;
"ipv4-psk-ikev2-transport":   initial-contact:no; cisco-unity:no; fake-strongswan:no; send-vendorid:no; send-no-esp-tfc:no;
"ipv4-psk-ikev2-transport":   policy: IKEv2+PSK+ENCRYPT+TRANSPORT+PFS+IKE_FRAG_ALLOW+ESN_NO+ESN_YES;
"ipv4-psk-ikev2-transport":   v2-auth-hash-policy: none;
"ipv4-psk-ikev2-transport":   conn_prio: 32,32; interface: eth1; metric: 0; mtu: unset; sa_prio:auto; sa_tfc:none;
"ipv4-psk-ikev2-transport":   nflog-group: unset; mark: unset; vti-iface:unset; vti-routing:no; vti-shared:no; nic-offload:no;
"ipv4-psk-ikev2-transport":   our idtype: ID_FQDN; our id=@west; their idtype: ID_FQDN; their id=@east
"ipv4-psk-ikev2-transport":   liveness: passive; dpddelay:0s; retransmit-timeout:60s
"ipv4-psk-ikev2-transport":   nat-traversal: encapsulation:auto; keepalive:20s
"ipv4-psk-ikev2-transport":   routing: unrouted;
"ipv4-psk-ikev2-transport":   conn serial: $1;
"ipv4-psk-ikev2-transport":   ESP algorithms: 3DES_CBC-HMAC_SHA2_256_128
west #
 ipsec whack --impair suppress_retransmits
west #
 echo "initdone"
initdone
west #
 ipsec auto --up ipv4-psk-ikev2-transport
"ipv4-psk-ikev2-transport" #1: initiating IKEv2 connection to 192.1.2.23 using UDP
"ipv4-psk-ikev2-transport" #1: sent IKE_SA_INIT request to 192.1.2.23:UDP/500
"ipv4-psk-ikev2-transport" #1: processed IKE_SA_INIT response from 192.1.2.23:UDP/500 {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=DH19}, initiating IKE_AUTH
"ipv4-psk-ikev2-transport" #1: sent IKE_AUTH request to 192.1.2.23:UDP/500
"ipv4-psk-ikev2-transport" #1: initiator established IKE SA; authenticated peer using authby=secret and ID_FQDN '@east'
"ipv4-psk-ikev2-transport" #2: initiator established Child SA using #1; IPsec transport [192.1.2.45/32===192.1.2.23/32] {ESP/ESN=>0xESPESP <0xESPESP xfrm=3DES_CBC-HMAC_SHA2_256_128 DPD=passive}
west #
 ../../guestbin/ping-once.sh --up -I 192.1.2.45 192.1.2.23
up
west #
 ipsec whack --trafficstatus
#2: "ipv4-psk-ikev2-transport", type=ESP, add_time=1234567890, inBytes=64, outBytes=64, maxBytes=2^63B, id='@east'
west #
 # test rekey
west #
 ipsec whack --rekey-child --name ipv4-psk-ikev2-transport
"ipv4-psk-ikev2-transport" #3: initiating rekey to replace Child SA #2 using IKE SA #1
"ipv4-psk-ikev2-transport" #3: sent CREATE_CHILD_SA request to rekey Child SA #2 using IKE SA #1
"ipv4-psk-ikev2-transport" #3: initiator rekeyed Child SA #2 using #1; IPsec transport [192.1.2.45/32===192.1.2.23/32] {ESP/ESN=>0xESPESP <0xESPESP xfrm=3DES_CBC-HMAC_SHA2_256_128-DH19 DPD=passive}
"ipv4-psk-ikev2-transport" #2: sent INFORMATIONAL request to delete established Child SA using IKE SA #1
"ipv4-psk-ikev2-transport" #2: ESP traffic information: in=64B out=64B
west #
 # confirm transport mode is still part after rekey
west #
 ip xfrm state |grep mode
	proto esp spi 0xSPISPI reqid REQID mode transport
	proto esp spi 0xSPISPI reqid REQID mode transport
west #
 echo done
done
west #
 ../../guestbin/ipsec-kernel-state.sh
src 192.1.2.45 dst 192.1.2.23
	proto esp spi 0xSPISPI reqid REQID mode transport
	replay-window 0 flag esn
	auth-trunc hmac(sha256) 0xHASHKEY 128
	enc cbc(des3_ede) 0xENCKEY
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
	sel src 192.1.2.45/32 dst 192.1.2.23/32 
src 192.1.2.23 dst 192.1.2.45
	proto esp spi 0xSPISPI reqid REQID mode transport
	replay-window 0 flag esn
	auth-trunc hmac(sha256) 0xHASHKEY 128
	enc cbc(des3_ede) 0xENCKEY
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
	sel src 192.1.2.23/32 dst 192.1.2.45/32 
west #
 ../../guestbin/ipsec-kernel-policy.sh
src 192.1.2.23/32 dst 192.1.2.45/32
	dir in priority PRIORITY ptype main
	tmpl src 0.0.0.0 dst 0.0.0.0
		proto esp reqid REQID mode transport
src 192.1.2.45/32 dst 192.1.2.23/32
	dir out priority PRIORITY ptype main
	tmpl src 0.0.0.0 dst 0.0.0.0
		proto esp reqid REQID mode transport
west #
 
