/testing/guestbin/swan-prep --hostkeys
Creating NSS database containing host keys
west #
 # We want to test without a specific existing non-device route,
west #
 # so we remove the regular route for 192.0.2.0/24, and add default route
west #
 ../../guestbin/ip.sh route del 192.0.2.0/24
west #
 ../../guestbin/ip.sh route del default
west #
 ../../guestbin/ip.sh route add 0.0.0.0/0 via 192.1.2.23 dev eth1
west #
 # confirm that the network is alive
west #
 ../../guestbin/wait-until-alive -I 192.0.1.254 192.0.2.254
destination -I 192.0.1.254 192.0.2.254 is alive
west #
 # ensure that clear text does not get through
west #
 iptables -A INPUT -i eth1 -s 192.0.2.0/24 -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.0.1.254 192.0.2.254
down
west #
 ipsec start
Redirecting to: [initsystem]
west #
 ../../guestbin/wait-until-pluto-started
west #
 ipsec auto --add westnet-eastnet-vti
"westnet-eastnet-vti": added IKEv1 connection
west #
 echo "initdone"
initdone
west #
 ipsec auto --up westnet-eastnet-vti
"westnet-eastnet-vti" #1: initiating IKEv1 Main Mode connection
"westnet-eastnet-vti" #1: sent Main Mode request
"westnet-eastnet-vti" #1: sent Main Mode I2
"westnet-eastnet-vti" #1: sent Main Mode I3
"westnet-eastnet-vti" #1: Peer ID is ID_FQDN: '@east'
"westnet-eastnet-vti" #1: authenticated peer using preloaded certificate '@east' and 2nnn-bit RSA with SHA1 signature
"westnet-eastnet-vti" #1: ISAKMP SA established {auth=RSA_SIG cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP2048}
"westnet-eastnet-vti" #2: initiating Quick Mode IKEv1+RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES
"westnet-eastnet-vti" #2: sent Quick Mode request
"westnet-eastnet-vti" #2: prepare-client output: net.ipv4.conf.vti0.disable_policy = 1
"westnet-eastnet-vti" #2: prepare-client output: net.ipv4.conf.vti0.rp_filter = 0
"westnet-eastnet-vti" #2: prepare-client output: net.ipv4.conf.vti0.forwarding = 1
"westnet-eastnet-vti" #2: up-client output: vti interface "vti0" already exists with conflicting setting (perhaps need vti-shared=yes ?
"westnet-eastnet-vti" #2: IPsec SA established tunnel mode {ESP=>0xESPESP <0xESPESP xfrm=AES_CBC_128-HMAC_SHA1_96 DPD=passive}
west #
 # since we have vti-routing=no, no marking, so unencrypted packets are dropped
west #
 ../../guestbin/ping-once.sh --down -I 192.0.1.254 192.0.2.254
down
west #
 ipsec whack --trafficstatus
#2: "westnet-eastnet-vti", type=ESP, add_time=1234567890, inBytes=0, outBytes=0, maxBytes=2^63B, id='@east'
west #
 ../../guestbin/ip.sh route add 192.0.2.0/24 dev vti0
west #
 # now packets into vti0 device will get marked, and encrypted and counted
west #
 ../../guestbin/ping-once.sh --up -I 192.0.1.254 192.0.2.254
up
west #
 ipsec whack --trafficstatus
#2: "westnet-eastnet-vti", type=ESP, add_time=1234567890, inBytes=84, outBytes=84, maxBytes=2^63B, id='@east'
west #
 # ensure no error on delete
west #
 ipsec auto --delete westnet-eastnet-vti
"westnet-eastnet-vti": terminating SAs using this connection
"westnet-eastnet-vti" #2: deleting IPsec SA (QUICK_I2) and sending notification using ISAKMP SA #1
"westnet-eastnet-vti" #2: ESP traffic information: in=84B out=84B
"westnet-eastnet-vti" #1: deleting ISAKMP SA (MAIN_I4) and sending notification
west #
 echo done
done
west #
 grep -v -P "\t0$" /proc/net/xfrm_stat
west #
 ipsec whack --shutdown
Pluto is shutting down
west #
 # there should be no vti0 device left
west #
 ../../guestbin/ip.sh address show vti0
5: vti0@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 state UNKNOWN
    link/ipip 192.1.2.45 peer 192.1.2.23
west #
 
