/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
002 "ipv4-psk-ikev2-transport": added IKEv2 connection
west #
 ipsec auto --status | grep ipv4-psk-ikev2-transport
000 "ipv4-psk-ikev2-transport": 192.1.2.45[@west]...192.1.2.23[@east]; unrouted; eroute owner: #0
000 "ipv4-psk-ikev2-transport":     oriented; my_ip=unset; their_ip=unset; my_updown=ipsec _updown;
000 "ipv4-psk-ikev2-transport":   xauth us:none, xauth them:none,  my_username=[any]; their_username=[any]
000 "ipv4-psk-ikev2-transport":   our auth:secret, their auth:secret, our autheap:none, their autheap:none;
000 "ipv4-psk-ikev2-transport":   modecfg info: us:none, them:none, modecfg policy:push, dns:unset, domains:unset, cat:unset;
000 "ipv4-psk-ikev2-transport":   sec_label:unset;
000 "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%; keyingtries: 0;
000 "ipv4-psk-ikev2-transport":   retransmit-interval: 9999ms; retransmit-timeout: 99s; iketcp:no; iketcp-port:4500;
000 "ipv4-psk-ikev2-transport":   initial-contact:no; cisco-unity:no; fake-strongswan:no; send-vendorid:no; send-no-esp-tfc:no;
000 "ipv4-psk-ikev2-transport":   policy: IKEv2+PSK+ENCRYPT+PFS+IKE_FRAG_ALLOW+ESN_NO+ESN_YES;
000 "ipv4-psk-ikev2-transport":   v2-auth-hash-policy: none;
000 "ipv4-psk-ikev2-transport":   conn_prio: 32,32; interface: eth1; metric: 0; mtu: unset; sa_prio:auto; sa_tfc:none;
000 "ipv4-psk-ikev2-transport":   nflog-group: unset; mark: unset; vti-iface:unset; vti-routing:no; vti-shared:no; nic-offload:auto;
000 "ipv4-psk-ikev2-transport":   our idtype: ID_FQDN; our id=@west; their idtype: ID_FQDN; their id=@east
000 "ipv4-psk-ikev2-transport":   liveness: passive; dpdaction:hold; dpddelay:0s; retransmit-timeout:60s
000 "ipv4-psk-ikev2-transport":   nat-traversal: encaps:auto; keepalive:20s
000 "ipv4-psk-ikev2-transport":   newest IKE SA: #0; newest IPsec SA: #0; conn serial: $1;
000 "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
1v2 "ipv4-psk-ikev2-transport" #1: initiating IKEv2 connection
1v2 "ipv4-psk-ikev2-transport" #1: sent IKE_SA_INIT request to 192.1.2.23:500
1v2 "ipv4-psk-ikev2-transport" #1: sent IKE_AUTH request {cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=MODP2048}
003 "ipv4-psk-ikev2-transport" #1: initiator established IKE SA; authenticated peer using authby=secret and ID_FQDN '@east'
004 "ipv4-psk-ikev2-transport" #2: initiator established Child SA using #1; IPsec transport [192.1.2.45-192.1.2.45:0-65535 0] -> [192.1.2.23-192.1.2.23:0-65535 0] {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
006 #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-ipsec --name ipv4-psk-ikev2-transport
002 "ipv4-psk-ikev2-transport" #3: initiating rekey to replace Child SA #2
1v2 "ipv4-psk-ikev2-transport" #3: sent CREATE_CHILD_SA request to rekey IPsec SA
004 "ipv4-psk-ikev2-transport" #3: initiator rekeyed Child SA #2 using #1; IPsec transport [192.1.2.45-192.1.2.45:0-65535 0] -> [192.1.2.23-192.1.2.23:0-65535 0] {ESP/ESN=>0xESPESP <0xESPESP xfrm=3DES_CBC-HMAC_SHA2_256_128-MODP2048 DPD=passive}
002 "ipv4-psk-ikev2-transport" #2: deleting established Child SA using IKE SA #1
005 "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-look.sh
west NOW
XFRM state:
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 
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 
XFRM policy:
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
XFRM done
IPSEC mangle TABLES
iptables filter TABLE
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            policy match dir in pol ipsec
DROP       icmp --  192.1.2.23           0.0.0.0/0           
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ROUTING TABLES
default via 192.1.2.254 dev eth1
192.0.1.0/24 dev eth0 proto kernel scope link src 192.0.1.254
192.0.2.0/24 via 192.1.2.23 dev eth1
192.1.2.0/24 dev eth1 proto kernel scope link src 192.1.2.45
NSS_CERTIFICATES
Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI
west #
 
