/testing/guestbin/swan-prep
north #
 iptables -F INPUT
north #
 iptables -F OUTPUT
north #
 # ensure that clear text does not get through
north #
 # block port 22 via ipsec to confirm IPsec only covers 17/1701
north #
 iptables -A OUTPUT -m policy --dir out --pol ipsec -p tcp --dport 22 -j REJECT
north #
 iptables -A OUTPUT -o eth1 -d 192.1.2.23 -m policy --dir out --pol none -p udp --dport 1701 -j REJECT
north #
 iptables -A OUTPUT -m policy --dir out --pol ipsec -j ACCEPT
north #
 iptables -A INPUT -i eth1 -s 192.1.2.23 -m policy --dir in --pol none -p udp --sport 1701 -j REJECT
north #
 iptables -A INPUT -m policy --dir in --pol ipsec -j ACCEPT
north #
 ipsec start
Redirecting to: systemctl start ipsec.service
north #
 /testing/pluto/bin/wait-until-pluto-started
north #
 ipsec auto --add north-east-l2tp
002 added connection description "north-east-l2tp"
north #
 (cd /tmp && xl2tpd -D 2>/tmp/xl2tpd.log ) &
[B] PID
north #
 ipsec auto --route north-east-l2tp
north #
 echo done
done
north #
 ipsec auto --up north-east-l2tp
002 "north-east-l2tp" #1: initiating Main Mode
1v1 "north-east-l2tp" #1: STATE_MAIN_I1: initiate
1v1 "north-east-l2tp" #1: STATE_MAIN_I2: sent MI2, expecting MR2
1v1 "north-east-l2tp" #1: STATE_MAIN_I3: sent MI3, expecting MR3
002 "north-east-l2tp" #1: Peer ID is ID_FQDN: '@east'
003 "north-east-l2tp" #1: Authenticated using RSA
004 "north-east-l2tp" #1: STATE_MAIN_I4: ISAKMP SA established {auth=RSA_SIG cipher=AES_CBC_256 integ=HMAC_SHA2_256 group=MODP2048}
002 "north-east-l2tp" #2: initiating Quick Mode RSASIG+ENCRYPT+PFS+UP+IKEV1_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW+ESN_NO
1v1 "north-east-l2tp" #2: STATE_QUICK_I1: initiate
004 "north-east-l2tp" #2: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0xESPESP <0xESPESP xfrm=AES_CBC_128-HMAC_SHA1_96 NATOA=none NATD=none DPD=passive}
north #
 echo "c server" > /var/run/xl2tpd/l2tp-control
north #
 sleep 5
[ 00.00] PPP BSD Compression module registered
[ 00.00] PPP Deflate Compression module registered
north #
 # should be non-zero counters if l2tp worked
north #
 ipsec whack --trafficstatus
006 #2: "north-east-l2tp", type=ESP, add_time=1234567890, inBytes=531, outBytes=506, id='@east'
north #
north #
 # testing passthrough of non-l2tp/ipsec traffic
north #
 echo quit | nc 192.0.2.254 22
SSH-2.0-OpenSSH_XXX
Protocol mismatch.
north #
 ip addr show dev ppp0 | sed "s/ qdisc.*$//"
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1395
    link/ppp
    inet 192.0.2.128 peer 192.0.2.254/32 scope global ppp0
       valid_lft forever preferred_lft forever
north #
 echo done
done
north #
 ../../pluto/bin/ipsec-look.sh
north NOW
XFRM state:
src 192.1.2.23 dst 192.1.3.33
	proto esp spi 0xSPISPI reqid REQID mode transport
	replay-window 32 
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	sel src 192.1.2.23/32 dst 192.1.3.33/32 proto udp sport 1701 dport 1701 
src 192.1.3.33 dst 192.1.2.23
	proto esp spi 0xSPISPI reqid REQID mode transport
	replay-window 32 
	auth-trunc hmac(sha1) 0xHASHKEY 96
	enc cbc(aes) 0xENCKEY
	sel src 192.1.3.33/32 dst 192.1.2.23/32 proto udp sport 1701 dport 1701 
XFRM policy:
src 192.1.2.23/32 dst 192.1.3.33/32 proto udp sport 1701 dport 1701
	dir in priority 712671 ptype main
	tmpl src 0.0.0.0 dst 0.0.0.0
		proto esp reqid REQID mode transport
src 192.1.3.33/32 dst 192.1.2.23/32 proto udp sport 1701 dport 1701
	dir out priority 712671 ptype main
	tmpl src 0.0.0.0 dst 0.0.0.0
		proto esp reqid REQID mode transport
XFRM done
IPSEC mangle TABLES
NEW_IPSEC_CONN mangle TABLES
ROUTING TABLES
default via 192.1.3.254 dev eth1
192.0.1.0/24 via 192.1.3.254 dev eth1
192.0.2.0/24 via 192.1.3.254 dev eth1
192.0.2.254 dev ppp0 proto kernel scope link src 192.0.2.128
192.0.3.0/24 dev eth0 proto kernel scope link src 192.0.3.254
192.1.2.0/24 via 192.1.3.254 dev eth1
192.1.3.0/24 dev eth1 proto kernel scope link src 192.1.3.33
NSS_CERTIFICATES
Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI
north #
north #
 grep 'Result using RFC 3947' /tmp/pluto.log
| NAT-Traversal: Result using RFC 3947 (NAT-Traversal) sender port 500: no NAT detected
north #
 ../bin/check-for-core.sh
north #
 if [ -f /sbin/ausearch ]; then ausearch -r -m avc -ts recent ; fi

