/testing/guestbin/swan-prep
road #
 # delete the address 192.1.33.209 before re-run. otherwise pluto may choose it.
road #
 ip addr show dev eth0 2>/dev/null | grep 192.1.33.209 && ip addr del 192.1.33.209/24 dev eth0
road #
 ip route show scope global 2>/dev/null | grep "192.1.33.254" && ip route del default via 192.1.33.254
road #
 # add 3.209 for re-run
road #
 ip addr show dev eth0 | grep 192.1.3.209 || ip addr add 192.1.3.209/24 dev eth0
    inet 192.1.3.209/24 scope global eth0
road #
 # add default gw, it could have been deleted due address changes
road #
 ip route | grep default || ip route add default via 192.1.3.254
default via 192.1.3.254 dev eth0
road #
 # routes and addresses setup for the test
road #
 ipsec start
Redirecting to: [initsystem]
road #
 /testing/pluto/bin/wait-until-pluto-started
road #
 ipsec auto --add road-eastnet
002 added IKEv2 connection "road-eastnet"
road #
 echo "initdone"
initdone
road #
 ipsec auto --up road-eastnet
1v2 "road-eastnet"[1] 192.1.2.23 #1: initiating IKEv2 connection
1v2 "road-eastnet"[1] 192.1.2.23 #1: sent IKE_SA_INIT request
1v2 "road-eastnet"[1] 192.1.2.23 #1: sent IKE_AUTH request {auth=IKEv2 cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=MODP2048}
003 "road-eastnet"[1] 192.1.2.23 #1: authenticated using authby=secret
002 "road-eastnet"[1] 192.1.2.23 #2: received INTERNAL_IP4_ADDRESS 192.0.3.10
002 "road-eastnet"[1] 192.1.2.23 #2: negotiated connection [192.0.3.10-192.0.3.10:0-65535 0] -> [0.0.0.0-255.255.255.255:0-65535 0]
004 "road-eastnet"[1] 192.1.2.23 #2: IPsec SA established tunnel mode {ESP=>0xESPESP <0xESPESP xfrm=AES_CBC_256-HMAC_SHA2_256_128 NATOA=none NATD=none DPD=passive}
road #
 # note this end should be 192.1.3.209
road #
 ../../pluto/bin/ipsec-look.sh
road NOW
XFRM state:
src 192.1.2.23 dst 192.1.3.209
src 192.1.3.209 dst 192.1.2.23
XFRM policy:
src 0.0.0.0/0 dst 192.0.3.10/32
	dir fwd priority 2080767 ptype main
	tmpl src 192.1.2.23 dst 192.1.3.209
src 0.0.0.0/0 dst 192.0.3.10/32
	dir in priority 2080767 ptype main
	tmpl src 192.1.2.23 dst 192.1.3.209
src 192.0.3.10/32 dst 0.0.0.0/0
	dir out priority 2080767 ptype main
	tmpl src 192.1.3.209 dst 192.1.2.23
XFRM done
IPSEC mangle TABLES
NEW_IPSEC_CONN mangle TABLES
ROUTING TABLES
0.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
default via 192.1.3.254 dev eth0
128.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
192.1.3.0/24 dev eth0 proto kernel scope link src 192.1.3.209
NSS_CERTIFICATES
Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI
road #
 ping -W 1 -q -n -c 2 -I 192.0.3.10 192.0.2.254
PING 192.0.2.254 (192.0.2.254) from 192.0.3.10 : 56(84) bytes of data.
--- 192.0.2.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time XXXX
rtt min/avg/max/mdev = 0.XXX/0.XXX/0.XXX/0.XXX ms
road #
 ipsec whack --trafficstatus
006 #2: "road-eastnet"[1] 192.1.2.23, type=ESP, add_time=1234567890, inBytes=168, outBytes=168, id='192.1.2.23', lease=192.0.3.10/32
road #
 sleep 5
road #
 # remove this end ip next one will take over
road #
 ../bin/ip-addr-show.sh
eth0 inet 192.1.3.209/24
lo inet 192.0.3.10/32
road #
 ip route
0.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
default via 192.1.3.254 dev eth0
128.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
192.1.3.0/24 dev eth0 proto kernel scope link src 192.1.3.209
road #
 ip route show scope global | grep 192.1.3.254 && ip route del default via 192.1.3.254
0.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
default via 192.1.3.254 dev eth0
128.0.0.0/1 via 192.1.3.254 dev eth0 src 192.0.3.10
road #
 ip addr del 192.1.3.209/24 dev eth0
road #
 # removed address and route
road #
 sleep 5
road #
 ../bin/ip-addr-show.sh
lo inet 192.0.3.10/32
road #
 ip route
road #
 # add new address and route
road #
 ip addr show dev eth0 | grep 192.1.33.209 || ip addr add 192.1.33.209/24 dev eth0
road #
 ip route show scope global | grep 192.1.33.254 || ip route add default via 192.1.33.254
road #
 # let libreswan detect change and do a MOBIKE update
road #
 sleep 10
road #
 ping -W 1 -q -n -c 2 -I 192.0.3.10 192.1.2.23
PING 192.1.2.23 (192.1.2.23) from 192.0.3.10 : 56(84) bytes of data.
--- 192.1.2.23 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time XXXX
rtt min/avg/max/mdev = 0.XXX/0.XXX/0.XXX/0.XXX ms
road #
 ../bin/ip-addr-show.sh
eth0 inet 192.1.33.209/24
lo inet 192.0.3.10/32
road #
 ip route
0.0.0.0/1 via 192.1.33.254 dev eth0 src 192.0.3.10
default via 192.1.33.254 dev eth0
128.0.0.0/1 via 192.1.33.254 dev eth0 src 192.0.3.10
192.1.33.0/24 dev eth0 proto kernel scope link src 192.1.33.209
road #
 # MOBIKE ping should work
road #
 # note this end should be 192.1.3.209
road #
 ping -W 1 -q -n -c 2 -I 192.0.3.10 192.1.2.23
PING 192.1.2.23 (192.1.2.23) from 192.0.3.10 : 56(84) bytes of data.
--- 192.1.2.23 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time XXXX
rtt min/avg/max/mdev = 0.XXX/0.XXX/0.XXX/0.XXX ms
road #
 echo done
done
road #
 ipsec whack --trafficstatus
006 #2: "road-eastnet"[1] 192.1.2.23, type=ESP, add_time=1234567890, inBytes=336, outBytes=336, id='192.1.2.23', lease=192.0.3.10/32
road #
 ip xfrm state
src 192.1.2.23 dst 192.1.33.209
src 192.1.33.209 dst 192.1.2.23
road #
 ip xfrm policy
src 192.0.3.10/32 dst 0.0.0.0/0 
	dir out priority 2080767 ptype main 
	tmpl src 192.1.33.209 dst 192.1.2.23
src 0.0.0.0/0 dst 192.0.3.10/32 
	dir fwd priority 2080767 ptype main 
	tmpl src 192.1.2.23 dst 192.1.33.209
src 0.0.0.0/0 dst 192.0.3.10/32 
	dir in priority 2080767 ptype main 
	tmpl src 192.1.2.23 dst 192.1.33.209
road #
 grep "MOBIKE " /tmp/pluto.log
| #1 MOBIKE new source address 192.1.33.209 remote 192.1.2.23:500 and gateway 192.1.33.254
| TODO: process v2N_NAT_DETECTION_SOURCE_IP in MOBIKE response 
| TODO: process v2N_NAT_DETECTION_DESTINATION_IP in MOBIKE response 
| #2 pst=#1 MOBIKE update local address 192.1.3.209:500 -> 192.1.33.209:500
"road-eastnet"[1] 192.1.2.23 #1:  success MOBIKE update local address 192.1.3.209:500 -> 192.1.33.209:500
"road-eastnet"[1] 192.1.2.23 #1: MOBIKE response: updating IPsec SA
road #
 sleep 7
road #
 ../bin/check-for-core.sh
road #
 if [ -f /sbin/ausearch ]; then ausearch -r -m avc -ts recent ; fi
road #
 
