/testing/guestbin/swan-prep 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 # /testing/pluto/bin/wait-until-pluto-started road # ipsec auto --add authenticated 002 added connection description "authenticated" 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 # sleep 5 road # echo "initdone" initdone road # # setup authenticated static conn road # ipsec auto --up authenticated whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # # should show established tunnel and no bare shunts road # ipsec whack --trafficstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # ipsec whack --shuntstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # ../../pluto/bin/ipsec-look.sh road NOW XFRM state: XFRM policy: src 192.1.2.253/32 dst 192.1.3.209/32 dir fwd priority 1564639 ptype main src 192.1.2.253/32 dst 192.1.3.209/32 dir in priority 1564639 ptype main src 192.1.2.254/32 dst 192.1.3.209/32 dir fwd priority 1564639 ptype main src 192.1.2.254/32 dst 192.1.3.209/32 dir in priority 1564639 ptype main src 192.1.3.209/32 dst 192.1.2.253/32 dir out priority 1564639 ptype main src 192.1.3.209/32 dst 192.1.2.254/32 dir out priority 1564639 ptype main src 192.1.3.209/32 dst 192.1.3.253/32 dir out priority 1564639 ptype main src 192.1.3.209/32 dst 192.1.3.254/32 dir out priority 1564639 ptype main src 192.1.3.253/32 dst 192.1.3.209/32 dir fwd priority 1564639 ptype main src 192.1.3.253/32 dst 192.1.3.209/32 dir in priority 1564639 ptype main src 192.1.3.254/32 dst 192.1.3.209/32 dir fwd priority 1564639 ptype main src 192.1.3.254/32 dst 192.1.3.209/32 dir in priority 1564639 ptype main src 192.1.3.209/32 dst 192.1.2.0/24 dir out priority 2088935 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 eth0 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 should succeed through tunnel road # ping -n -c 2 -I 192.1.3.209 192.1.2.23 PING 192.1.2.23 (192.1.2.23) from 192.1.3.209 : 56(84) bytes of data. --- 192.1.2.23 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time XXXX road # ipsec whack --trafficstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # killall -9 pluto road # ipsec restart Redirecting to: [initsystem] Job for ipsec.service failed because the control process exited with error code. See "systemctl status ipsec.service" and "journalctl -xe" for details. road # /testing/pluto/bin/wait-until-pluto-started whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # # give OE policies time to load road # sleep 5 road # # the ping triggers a authnull attempt. It should fail because road # # east should not replace an authenticated conn with an authnull conn road # ping -n -c 2 -I 192.1.3.209 192.1.2.23 PING 192.1.2.23 (192.1.2.23) from 192.1.3.209 : 56(84) bytes of data. --- 192.1.2.23 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time XXXX road # # There should NOT be an IPsec SA, and no shunt since we received failure road # ipsec whack --trafficstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # ipsec whack --shuntstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # echo done done road # # only east should show 1 tunnel, as road was restarted road # ipsec whack --trafficstatus whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # # east shows the authnull is matched on preferred non-null connection, road # # then cannot find a (non-authnull) match and rejects it. So an road # # additional 'authenticated' partial state lingers road # ipsec status | grep STATE_ whack: is Pluto running? connect() for "/run/pluto/pluto.ctl" failed (111 Connection refused) road # # verify no packets were dropped due to missing SPD policies road # grep -v -P "\t0$" /proc/net/xfrm_stat XfrmOutNoStates 4 road # road # ../bin/check-for-core.sh road # if [ -f /sbin/ausearch ]; then ausearch -r -m avc -ts recent ; fi