/testing/guestbin/swan-prep
road #
 cp road-ikev2-oe.conf /etc/ipsec.d/ikev2-oe.conf
road #
 cp policies/* /etc/ipsec.d/policies/
road #
 echo "192.1.2.0/24"  >> /etc/ipsec.d/policies/private-or-clear
road #
 ipsec start
Redirecting to: [initsystem]
road #
 ../../guestbin/wait-until-pluto-started
road #
 #ipsec whack --impair suppress-retransmits
road #
 # ensure for tests acquires expire before our failureshunt=2m
road #
 echo 30 > /proc/sys/net/core/xfrm_acq_expires
road #
 # give OE policies time to load
road #
 ../../guestbin/wait-for.sh --match 'loaded 6,' -- ipsec auto --status
000 Total IPsec connections: loaded 6, active 0
road #
 ipsec whack --listpubkeys
000  
000 List of Public Keys:
000  
road #
 echo "initdone"
initdone
road #
 # Should succeed if it can check all pubkeys received via DNS
road #
 ipsec whack --oppohere 192.1.3.209 --oppothere 192.1.2.66
002 initiate on-demand for packet 192.1.3.209:8-ICMP->192.1.2.66:0 by whack
1v2 "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66 #1: initiating IKEv2 connection
003 "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66 #1: established IKE SA; authenticated using RSA with SHA2_512 and preloaded certificate '192.1.2.66'
004 "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66 #2: established Child SA using #1; IPsec tunnel [192.1.3.209-192.1.3.209:0-65535 0] -> [192.1.2.66-192.1.2.66:0-65535 0] {ESP/ESN=>0xESPESP <0xESPESP xfrm=AES_GCM_16_256-NONE DPD=passive}
road #
 grep "DNS QUESTION" /tmp/pluto.log
| DNS QUESTION 66.2.1.192.IN-ADDR.ARPA.\tIN\tIPSECKEY\n
road #
 # should show large set of keys in pluto cache from IPSECKEY records
road #
 ipsec whack --listpubkeys
000  
000 List of Public Keys:
000  
000 TIMESTAMP, 2192 RSA Key AQAAAAAAA (no private key), until TIMESTAMP warning (expires in X days)
000        ID_IPV4_ADDR '192.1.2.66'
000 TIMESTAMP, 2192 RSA Key AQBBBBBBB (no private key), until TIMESTAMP warning (expires in X days)
000        ID_IPV4_ADDR '192.1.2.66'
000 TIMESTAMP, 2192 RSA Key AQCCCCCCC (no private key), until TIMESTAMP warning (expires in X days)
000        ID_IPV4_ADDR '192.1.2.66'
000 TIMESTAMP, 2192 RSA Key AQDDDDDDD (no private key), until TIMESTAMP warning (expires in X days)
000        ID_IPV4_ADDR '192.1.2.66'
000 TIMESTAMP, 2192 RSA Key AQO9bJbr3 (no private key), until TIMESTAMP warning (expires in X days)
000        ID_IPV4_ADDR '192.1.2.66'
road #
 # should show established tunnel and no bare shunts
road #
 # ping should succeed through tunnel
road #
 ../../guestbin/ping-once.sh --up -I 192.1.3.209 192.1.2.66
up
road #
 ipsec whack --trafficstatus
006 #2: "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66, type=ESP, add_time=1234567890, inBytes=84, outBytes=84, id='192.1.2.66'
road #
 ipsec whack --shuntstatus
000 Bare Shunt list:
000  
road #
 ipsec whack --trafficstatus
006 #2: "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66, type=ESP, add_time=1234567890, inBytes=84, outBytes=84, id='192.1.2.66'
road #
 echo done
done
road #
 # A tunnel should have established with non-zero byte counters
road #
 ipsec whack --trafficstatus
006 #2: "private-or-clear#192.1.2.0/24"[1] ...192.1.2.66, type=ESP, add_time=1234567890, inBytes=84, outBytes=84, id='192.1.2.66'
road #
 grep "^[^|].*: established Child SA" /tmp/pluto.log
"private-or-clear#192.1.2.0/24"[1] ...192.1.2.66 #2: established Child SA using #1; IPsec tunnel [192.1.3.209-192.1.3.209:0-65535 0] -> [192.1.2.66-192.1.2.66:0-65535 0] {ESP/ESN=>0xESPESP <0xESPESP xfrm=AES_GCM_16_256-NONE DPD=passive}
road #
 # you should see one RSA and on NULL only
road #
 grep -e 'auth method: ' -e 'hash algorithm identifier' -e "^[^|].*: established IKE SA" /tmp/pluto.log
| emitting 2 raw bytes of hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_256 into IKEv2 Notify Payload
| hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_256: 00 02
| emitting 2 raw bytes of hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_384 into IKEv2 Notify Payload
| hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_384: 00 03
| emitting 2 raw bytes of hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_512 into IKEv2 Notify Payload
| hash algorithm identifier IKEv2_HASH_ALGORITHM_SHA2_512: 00 04
| parsing 2 raw bytes of IKEv2 Notify Payload into hash algorithm identifier (network ordered)
| hash algorithm identifier (network ordered)
| parsing 2 raw bytes of IKEv2 Notify Payload into hash algorithm identifier (network ordered)
| hash algorithm identifier (network ordered)
| parsing 2 raw bytes of IKEv2 Notify Payload into hash algorithm identifier (network ordered)
| hash algorithm identifier (network ordered)
|    auth method: IKEv2_AUTH_NULL (0xd)
|    auth method: IKEv2_AUTH_DIGSIG (0xe)
"private-or-clear#192.1.2.0/24"[1] ...192.1.2.66 #1: established IKE SA; authenticated using RSA with SHA2_512 and preloaded certificate '192.1.2.66'
road #
 
