/testing/guestbin/swan-prep --hostkeys
Creating NSS database containing host keys
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 -A INPUT -i eth1 -s 10.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 #
 ../../guestbin/ip.sh address add 10.0.1.254 dev eth0
west #
 ipsec start
Redirecting to: [initsystem]
west #
 ../../guestbin/wait-until-pluto-started
west #
 ipsec auto --add westnet-eastnet-vti-01
"westnet-eastnet-vti-01": added IKEv1 connection
west #
 ipsec auto --add westnet-eastnet-vti-02
"westnet-eastnet-vti-02": added IKEv1 connection
west #
 # remove the regular route for 192.0.2.0/24
west #
 ../../guestbin/ip.sh route del 192.0.2.0/24
west #
 echo "initdone"
initdone
west #
 ipsec auto --up westnet-eastnet-vti-01
"westnet-eastnet-vti-01" #1: initiating IKEv1 Main Mode connection
"westnet-eastnet-vti-01" #1: sent Main Mode request
"westnet-eastnet-vti-01" #1: sent Main Mode I2
"westnet-eastnet-vti-01" #1: sent Main Mode I3
"westnet-eastnet-vti-01" #1: Peer ID is ID_FQDN: '@east'
"westnet-eastnet-vti-01" #1: authenticated peer using preloaded certificate '@east' and 2nnn-bit RSA with SHA1 signature
"westnet-eastnet-vti-01" #1: ISAKMP SA established {auth=RSA_SIG cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP2048}
"westnet-eastnet-vti-01" #2: initiating Quick Mode IKEv1+RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES
"westnet-eastnet-vti-01" #2: sent Quick Mode request
"westnet-eastnet-vti-01" #2: prepare-client output: net.ipv4.conf.ipsec0.disable_policy = 1
"westnet-eastnet-vti-01" #2: prepare-client output: net.ipv4.conf.ipsec0.rp_filter = 0
"westnet-eastnet-vti-01" #2: prepare-client output: net.ipv4.conf.ipsec0.forwarding = 1
"westnet-eastnet-vti-01" #2: route-client output: done ip route
"westnet-eastnet-vti-01" #2: up-client output: vti interface "ipsec0" already exists with conflicting setting
"westnet-eastnet-vti-01" #2: up-client output: existing: ipsec0: ip/ip remote any local 192.1.2.45 ttl inherit key 2
"westnet-eastnet-vti-01" #2: up-client output: wanted  : ipsec0: ip/ip  remote any  local 192.1.2.45  ttl inherit  key 2
"westnet-eastnet-vti-01" #2: up-client output: done ip route
"westnet-eastnet-vti-01" #2: IPsec SA established tunnel mode {ESP=>0xESPESP <0xESPESP xfrm=AES_CBC_128-HMAC_SHA1_96 DPD=passive}
west #
 ipsec auto --up westnet-eastnet-vti-02
"westnet-eastnet-vti-02" #3: initiating IKEv1 Main Mode connection
"westnet-eastnet-vti-02" #3: sent Main Mode request
"westnet-eastnet-vti-02" #3: sent Main Mode I2
"westnet-eastnet-vti-02" #3: sent Main Mode I3
"westnet-eastnet-vti-02" #3: Peer ID is ID_FQDN: '@east'
"westnet-eastnet-vti-02" #3: authenticated peer using preloaded certificate '@east' and 2nnn-bit RSA with SHA1 signature
"westnet-eastnet-vti-02" #3: ISAKMP SA established {auth=RSA_SIG cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP2048}
"westnet-eastnet-vti-02" #4: initiating Quick Mode IKEv1+RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKE_FRAG_ALLOW+ESN_NO+ESN_YES
"westnet-eastnet-vti-02" #4: sent Quick Mode request
"westnet-eastnet-vti-02" #4: prepare-client output: vti interface "ipsec0" already exists with conflicting setting
"westnet-eastnet-vti-02" #4: prepare-client output: existing: ipsec0: ip/ip remote any local 192.1.2.45 ttl inherit key 2
"westnet-eastnet-vti-02" #4: prepare-client output: wanted  : ipsec0: ip/ip  remote any  local 192.1.2.45  ttl inherit  key 2
"westnet-eastnet-vti-02" #4: route-client output: done ip route
"westnet-eastnet-vti-02" #4: up-client output: vti interface "ipsec0" already exists with conflicting setting
"westnet-eastnet-vti-02" #4: up-client output: existing: ipsec0: ip/ip remote any local 192.1.2.45 ttl inherit key 2
"westnet-eastnet-vti-02" #4: up-client output: wanted  : ipsec0: ip/ip  remote any  local 192.1.2.45  ttl inherit  key 2
"westnet-eastnet-vti-02" #4: up-client output: RTNETLINK answers: File exists
"westnet-eastnet-vti-02" #4: up-client output: done ip route
"westnet-eastnet-vti-02" #4: IPsec SA established tunnel mode {ESP=>0xESPESP <0xESPESP xfrm=AES_CBC_128-HMAC_SHA1_96 DPD=passive}
west #
 # our two ranges should orute into the vti device
west #
 ../../guestbin/ip.sh route list
default via 192.1.2.254 dev eth1
10.0.2.0/24 dev ipsec0 scope link
192.0.1.0/24 dev eth0 proto kernel scope link src 192.0.1.254
192.0.2.0/24 dev ipsec0 scope link
192.1.2.0/24 dev eth1 proto kernel scope link src 192.1.2.45
192.1.2.254 dev eth1 scope link
west #
 ../../guestbin/ping-once.sh --up -I 192.0.1.254 192.0.2.254
up
west #
 ../../guestbin/ping-once.sh --up -I 10.0.1.254 10.0.2.254
up
west #
 ipsec whack --trafficstatus
#2: "westnet-eastnet-vti-01", type=ESP, add_time=1234567890, inBytes=84, outBytes=84, maxBytes=2^63B, id='@east'
#4: "westnet-eastnet-vti-02", type=ESP, add_time=1234567890, inBytes=84, outBytes=84, maxBytes=2^63B, id='@east'
west #
 # show packets went via ipsec0
west #
 ifconfig ipsec0
ipsec0: flags=193<UP,RUNNING,NOARP>  mtu 1480
        tunnel   txqueuelen 1000  (IPIP Tunnel)
        RX packets 2  bytes 168 (168.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 168 (168.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
west #
 # show how our tunnel interface looks
west #
 ip tun | sort
ipsec0: ip/ip remote any local 192.1.2.45 ttl inherit key 2
ip_vti0: ip/ip remote any local any ttl inherit nopmtudisc key 0
west #
 echo done
done
west #
 grep -v -P "\t0$" /proc/net/xfrm_stat
west #
 ../../guestbin/ipsec-kernel-state.sh
src 192.1.2.45 dst 192.1.2.24
	proto esp spi 0xSPISPI reqid REQID mode tunnel
	replay-window 0 flag af-unspec
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	lastused YYYY-MM-DD HH:MM:SS
src 192.1.2.24 dst 192.1.2.45
	proto esp spi 0xSPISPI reqid REQID mode tunnel
	replay-window 0 flag af-unspec
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	lastused YYYY-MM-DD HH:MM:SS
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
src 192.1.2.45 dst 192.1.2.23
	proto esp spi 0xSPISPI reqid REQID mode tunnel
	replay-window 0 flag af-unspec
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	lastused YYYY-MM-DD HH:MM:SS
src 192.1.2.23 dst 192.1.2.45
	proto esp spi 0xSPISPI reqid REQID mode tunnel
	replay-window 0 flag af-unspec
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	lastused YYYY-MM-DD HH:MM:SS
	anti-replay esn context:
	 seq-hi 0x0, seq 0xXX, oseq-hi 0x0, oseq 0xXX
	 replay_window 128, bitmap-length 4
	 00000000 00000000 00000000 XXXXXXXX 
west #
 ../../guestbin/ipsec-kernel-policy.sh
src 10.0.1.0/24 dst 10.0.2.0/24
	dir out priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.45 dst 192.1.2.24
		proto esp reqid REQID mode tunnel
src 10.0.2.0/24 dst 10.0.1.0/24
	dir fwd priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.24 dst 192.1.2.45
		proto esp reqid REQID mode tunnel
src 10.0.2.0/24 dst 10.0.1.0/24
	dir in priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.24 dst 192.1.2.45
		proto esp reqid REQID mode tunnel
src 192.0.1.0/24 dst 192.0.2.0/24
	dir out priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.45 dst 192.1.2.23
		proto esp reqid REQID mode tunnel
src 192.0.2.0/24 dst 192.0.1.0/24
	dir fwd priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.23 dst 192.1.2.45
		proto esp reqid REQID mode tunnel
src 192.0.2.0/24 dst 192.0.1.0/24
	dir in priority PRIORITY ptype main
	mark 0x2/0xffffffff
	tmpl src 192.1.2.23 dst 192.1.2.45
		proto esp reqid REQID mode tunnel
west #
 
