/testing/guestbin/swan-prep kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# # confirm that the network is alive kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ../../pluto/bin/wait-until-alive -I 192.0.1.254 192.0.2.254 destination -I 192.0.1.254 192.0.2.254 is alive kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# # ensure that clear text does not get through kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# iptables -A INPUT -i eth1 -s 192.0.2.0/24 -j LOGDROP kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# iptables -I INPUT -m policy --dir in --pol ipsec -j ACCEPT kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# # confirm clear text does not get through kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ../../pluto/bin/ping-once.sh --down -I 192.0.1.254 192.0.2.254 ==== cut ==== ping -q -n -c 1 -i 2 -w 1 -I 192.0.1.254 192.0.2.254 ==== tuc ==== ==== cut ==== PING 192.0.2.254 (192.0.2.254) from 192.0.1.254 : 56(84) bytes of data. --- 192.0.2.254 ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms ==== tuc ==== down kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec start Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Redirecting to: /etc/init.d/ipsec start Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Error: Peer netns reference is invalid. Starting pluto IKE daemon for IPsec: kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# /testing/pluto/bin/wait-until-pluto-started kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec auto --add replay 002 added connection description "replay" kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec auto --status |grep replay_window 000 "replay": ike_life: 3600s; ipsec_life: 28800s; replay_window: 64; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0; kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec whack --impair suppress-retransmits kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# echo "initdone" initdone kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec auto --up replay 002 "replay" #1: initiating v2 parent SA 181 "replay" #1: initiate 002 "replay": constructed local IKE proposals for replay (IKE SA initiator selecting KE): 1:IKE:ENCR=AES_GCM_C_256;PRF=HMAC_SHA2_512,HMAC_SHA2_256;INTEG=NONE;DH=MODP2048,MODP3072,MODP4096,MODP8192,ECP_256,ECP_384,ECP_521,CURVE25519 2:IKE:ENCR=AES_GCM_C_128;PRF=HMAC_SHA2_512,HMAC_SHA2_256;INTEG=NONE;DH=MODP2048,MODP3072,MODP4096,MODP8192,ECP_256,ECP_384,ECP_521,CURVE25519 3:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2_512,HMAC_SHA2_256;INTEG=HMAC_SHA2_512_256,HMAC_SHA2_256_128;DH=MODP2048,MODP3072,MODP4096,MODP8192,ECP_256,ECP_384,ECP_521,CURVE25519 4:IKE:ENCR=AES_CBC_128;PRF=HMAC_SHA2_512,HMAC_SHA2_256;INTEG=HMAC_SHA2_512_256,HMAC_SHA2_256_128;DH=MODP2048,MODP3072,MODP4096,MODP8192,ECP_256,ECP_384,ECP_521,CURVE25519 181 "replay" #1: STATE_PARENT_I1: sent v2I1, expected v2R1 002 "replay" #1: IMPAIR: suppressing retransmits; scheduling timeout in 60 seconds 002 "replay": constructed local ESP/AH proposals for replay (IKE SA initiator emitting ESP/AH proposals): 1:ESP:ENCR=AES_GCM_C_256;INTEG=NONE;DH=NONE;ESN=DISABLED 2:ESP:ENCR=AES_GCM_C_128;INTEG=NONE;DH=NONE;ESN=DISABLED 3:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_512_256,HMAC_SHA2_256_128;DH=NONE;ESN=DISABLED 4:ESP:ENCR=AES_CBC_128;INTEG=HMAC_SHA2_512_256,HMAC_SHA2_256_128;DH=NONE;ESN=DISABLED 182 "replay" #2: STATE_PARENT_I2: sent v2I2, expected v2R2 {auth=IKEv2 cipher=AES_GCM_16_256 integ=n/a prf=HMAC_SHA2_512 group=MODP2048} 002 "replay" #2: IMPAIR: suppressing retransmits; scheduling timeout in 60 seconds 002 "replay" #2: IKEv2 mode peer ID is ID_FQDN: '@east' 003 "replay" #2: Authenticated using RSA 002 "replay" #2: negotiated connection [192.0.1.0-192.0.1.255:0-65535 0] -> [192.0.2.0-192.0.2.255:0-65535 0] 004 "replay" #2: STATE_V2_IPSEC_I: IPsec SA established tunnel mode {ESP=>0x3e01f468 <0xdc37a8bd xfrm=AES_GCM_16_256-NONE NATOA=none NATD=none DPD=passive} kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ping -n -c 4 -I 192.0.1.254 192.0.2.254 PING 192.0.2.254 (192.0.2.254) from 192.0.1.254 : 56(84) bytes of data. 64 bytes from 192.0.2.254: icmp_seq=1 ttl=64 time=0.077 ms 64 bytes from 192.0.2.254: icmp_seq=2 ttl=64 time=0.066 ms 64 bytes from 192.0.2.254: icmp_seq=3 ttl=64 time=0.062 ms 64 bytes from 192.0.2.254: icmp_seq=4 ttl=64 time=0.071 ms --- 192.0.2.254 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 82ms rtt min/avg/max/mdev = 0.062/0.069/0.077/0.005 ms kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# echo done done kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# # replay-window will show up as 0 when ESN is enabled due to kernel bug. kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ip xfrm state |grep replay-window replay-window 0 flag af-unspec replay-window 0 flag af-unspec kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# : ==== cut ==== kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec auto --status 000 using kernel interface: netkey 000 interface lo/lo 127.0.0.1:4500 000 interface lo/lo 127.0.0.1:500 000 interface eth0/eth0 192.0.1.254:4500 000 interface eth0/eth0 192.0.1.254:500 000 interface eth1/eth1 192.1.2.45:4500 000 interface eth1/eth1 192.1.2.45:500 000 000 000 fips mode=disabled; 000 SElinux=disabled 000 seccomp=disabled 000 000 config setup options: 000 000 configdir=/etc, configfile=/etc/ipsec.conf, secrets=/etc/ipsec.secrets, ipsecdir=/etc/ipsec.d 000 nssdir=/etc/ipsec.d, dumpdir=/tmp, statsbin=unset 000 dnssec-rootkey-file=/var/lib/unbound/root.key, dnssec-trusted= 000 sbindir=/usr/local/sbin, libexecdir=/usr/local/libexec/ipsec 000 pluto_version=v3.28-685-gbfd5aef521-master-s2, pluto_vendorid=OE-Libreswan-v3.28-685, audit-log=yes 000 nhelpers=-1, uniqueids=yes, dnssec-enable=yes, perpeerlog=no, logappend=no, logip=yes, shuntlifetime=900s, xfrmlifetime=30s 000 ddos-cookies-threshold=50000, ddos-max-halfopen=25000, ddos-mode=auto 000 ikeport=500, ikebuf=0, msg_errqueue=yes, strictcrlpolicy=no, crlcheckinterval=0, listen=, nflog-all=0 000 ocsp-enable=no, ocsp-strict=no, ocsp-timeout=2, ocsp-uri= 000 ocsp-trust-name= 000 ocsp-cache-size=1000, ocsp-cache-min-age=3600, ocsp-cache-max-age=86400, ocsp-method=get 000 global-redirect=no, global-redirect-to= 000 secctx-attr-type=32001 000 debug: base+cpu-usage impair: suppress-retransmits 000 000 nat-traversal=yes, keep-alive=20, nat-ikeport=4500 000 virtual-private (%priv): 000 000 Kernel algorithms supported: 000 000 algorithm ESP encrypt: name=3DES_CBC, keysizemin=192, keysizemax=192 000 algorithm ESP encrypt: name=AES_CBC, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_CCM_12, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_CCM_16, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_CCM_8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_CTR, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_GCM_12, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_GCM_16, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=AES_GCM_8, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=CAMELLIA_CBC, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=CHACHA20_POLY1305, keysizemin=256, keysizemax=256 000 algorithm ESP encrypt: name=NULL, keysizemin=0, keysizemax=0 000 algorithm ESP encrypt: name=NULL_AUTH_AES_GMAC, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=SERPENT_CBC, keysizemin=128, keysizemax=256 000 algorithm ESP encrypt: name=TWOFISH_CBC, keysizemin=128, keysizemax=256 000 algorithm AH/ESP auth: name=AES_CMAC_96, key-length=128 000 algorithm AH/ESP auth: name=AES_XCBC_96, key-length=128 000 algorithm AH/ESP auth: name=HMAC_MD5_96, key-length=128 000 algorithm AH/ESP auth: name=HMAC_SHA1_96, key-length=160 000 algorithm AH/ESP auth: name=HMAC_SHA2_256_128, key-length=256 000 algorithm AH/ESP auth: name=HMAC_SHA2_256_TRUNCBUG, key-length=256 000 algorithm AH/ESP auth: name=HMAC_SHA2_384_192, key-length=384 000 algorithm AH/ESP auth: name=HMAC_SHA2_512_256, key-length=512 000 algorithm AH/ESP auth: name=NONE, key-length=0 000 000 IKE algorithms supported: 000 000 algorithm IKE encrypt: v1id=5, v1name=OAKLEY_3DES_CBC, v2id=3, v2name=3DES, blocksize=8, keydeflen=192 000 algorithm IKE encrypt: v1id=8, v1name=OAKLEY_CAMELLIA_CBC, v2id=23, v2name=CAMELLIA_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=-1, v1name=n/a, v2id=20, v2name=AES_GCM_C, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=-1, v1name=n/a, v2id=19, v2name=AES_GCM_B, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=-1, v1name=n/a, v2id=18, v2name=AES_GCM_A, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=13, v1name=OAKLEY_AES_CTR, v2id=13, v2name=AES_CTR, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=7, v1name=OAKLEY_AES_CBC, v2id=12, v2name=AES_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=65004, v1name=OAKLEY_SERPENT_CBC, v2id=65004, v2name=SERPENT_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=65005, v1name=OAKLEY_TWOFISH_CBC, v2id=65005, v2name=TWOFISH_CBC, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=65289, v1name=OAKLEY_TWOFISH_CBC_SSH, v2id=65289, v2name=TWOFISH_CBC_SSH, blocksize=16, keydeflen=128 000 algorithm IKE encrypt: v1id=-1, v1name=n/a, v2id=28, v2name=CHACHA20_POLY1305, blocksize=16, keydeflen=256 000 algorithm IKE PRF: name=HMAC_MD5, hashlen=16 000 algorithm IKE PRF: name=HMAC_SHA1, hashlen=20 000 algorithm IKE PRF: name=HMAC_SHA2_256, hashlen=32 000 algorithm IKE PRF: name=HMAC_SHA2_384, hashlen=48 000 algorithm IKE PRF: name=HMAC_SHA2_512, hashlen=64 000 algorithm IKE PRF: name=AES_XCBC, hashlen=16 000 algorithm IKE DH Key Exchange: name=MODP1536, bits=1536 000 algorithm IKE DH Key Exchange: name=MODP2048, bits=2048 000 algorithm IKE DH Key Exchange: name=MODP3072, bits=3072 000 algorithm IKE DH Key Exchange: name=MODP4096, bits=4096 000 algorithm IKE DH Key Exchange: name=MODP6144, bits=6144 000 algorithm IKE DH Key Exchange: name=MODP8192, bits=8192 000 algorithm IKE DH Key Exchange: name=DH19, bits=512 000 algorithm IKE DH Key Exchange: name=DH20, bits=768 000 algorithm IKE DH Key Exchange: name=DH21, bits=1056 000 algorithm IKE DH Key Exchange: name=DH31, bits=256 000 000 stats db_ops: {curr_cnt, total_cnt, maxsz} :context={0,0,0} trans={0,0,0} attrs={0,0,0} 000 000 Connection list: 000 000 "replay": 192.0.1.0/24===192.1.2.45<192.1.2.45>[@west]...192.1.2.23<192.1.2.23>[@east]===192.0.2.0/24; erouted; eroute owner: #2 000 "replay": oriented; my_ip=unset; their_ip=unset; my_updown=ipsec _updown; 000 "replay": xauth us:none, xauth them:none, my_username=[any]; their_username=[any] 000 "replay": our auth:rsasig, their auth:rsasig 000 "replay": modecfg info: us:none, them:none, modecfg policy:push, dns:unset, domains:unset, banner:unset, cat:unset; 000 "replay": labeled_ipsec:no; 000 "replay": policy_label:unset; 000 "replay": ike_life: 3600s; ipsec_life: 28800s; replay_window: 64; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0; 000 "replay": retransmit-interval: 500ms; retransmit-timeout: 60s; 000 "replay": initial-contact:no; cisco-unity:no; fake-strongswan:no; send-vendorid:no; send-no-esp-tfc:no; 000 "replay": policy: RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW+ESN_NO; 000 "replay": conn_prio: 24,24; interface: eth1; metric: 0; mtu: unset; sa_prio:auto; sa_tfc:none; 000 "replay": nflog-group: unset; mark: unset; vti-iface:unset; vti-routing:no; vti-shared:no; nic-offload:auto; 000 "replay": our idtype: ID_FQDN; our id=@west; their idtype: ID_FQDN; their id=@east 000 "replay": dpd: action:hold; delay:0; timeout:0; nat-t: encaps:auto; nat_keepalive:yes; ikev1_natt:both 000 "replay": newest ISAKMP SA: #1; newest IPsec SA: #2; 000 "replay": IKEv2 algorithm newest: AES_GCM_16_256-HMAC_SHA2_512-MODP2048 000 "replay": ESP algorithm newest: AES_GCM_16_256-NONE; pfsgroup= 000 000 Total IPsec connections: loaded 1, active 1 000 000 State Information: DDoS cookies not required, Accepting new IKE connections 000 IKE SAs: total(1), half-open(0), open(0), authenticated(1), anonymous(0) 000 IPsec SAs: total(1), authenticated(1), anonymous(0) 000 000 #1: "replay":500 STATE_PARENT_I3 (PARENT SA established); EVENT_SA_REKEY in 2602s; newest ISAKMP; idle; 000 #2: "replay":500 STATE_V2_IPSEC_I (IPsec SA established); EVENT_SA_REKEY in 28043s; newest IPSEC; eroute owner; isakmp#1; idle; 000 #2: "replay" esp.3e01f468@192.1.2.23 esp.dc37a8bd@192.1.2.45 tun.0@192.1.2.23 tun.0@192.1.2.45 ref=0 refhim=0 Traffic: ESPin=336B ESPout=336B! ESPmax=0B 000 000 Bare Shunt list: 000 kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ipsec look # ../../pluto/bin/ipsec-look.sh west Mon Aug 26 13:12:15 UTC 2019 XFRM state: src 192.1.2.23 dst 192.1.2.45 proto esp spi 0xdc37a8bd reqid 16389 mode tunnel replay-window 0 flag af-unspec aead rfc4106(gcm(aes)) 0xd6cba299f87e51bc8fa4a23fe7e98eacf6d914b1f08879b2ed2c735f17920e4942991ae0 128 anti-replay esn context: seq-hi 0x0, seq 0x4, oseq-hi 0x0, oseq 0x0 replay_window 64, bitmap-length 2 00000000 0000000f src 192.1.2.45 dst 192.1.2.23 proto esp spi 0x3e01f468 reqid 16389 mode tunnel replay-window 0 flag af-unspec aead rfc4106(gcm(aes)) 0xb236a14a40cbc6e252c237f2889c0769a87b370ab81ae2d04ac8321f9ca81ec43710379e 128 anti-replay esn context: seq-hi 0x0, seq 0x0, oseq-hi 0x0, oseq 0x4 replay_window 64, bitmap-length 2 00000000 00000000 XFRM policy: src 192.0.1.0/24 dst 192.0.2.0/24 dir out priority 1042407 ptype main tmpl src 192.1.2.45 dst 192.1.2.23 proto esp reqid 16389 mode tunnel src 192.0.2.0/24 dst 192.0.1.0/24 dir fwd priority 1042407 ptype main tmpl src 192.1.2.23 dst 192.1.2.45 proto esp reqid 16389 mode tunnel src 192.0.2.0/24 dst 192.0.1.0/24 dir in priority 1042407 ptype main tmpl src 192.1.2.23 dst 192.1.2.45 proto esp reqid 16389 mode tunnel XFRM done IPSEC mangle TABLES NEW_IPSEC_CONN mangle TABLES ROUTING TABLES default via 192.1.2.254 dev eth1 192.0.1.0/24 dev eth0 proto kernel scope link src 192.0.1.254 192.0.2.0/24 via 192.1.2.23 dev eth1 192.1.2.0/24 dev eth1 proto kernel scope link src 192.1.2.45 NSS_CERTIFICATES Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# : ==== tuc ==== kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# ../bin/check-for-core.sh kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# if [ -f /sbin/ausearch ]; then ausearch -r -m avc -ts recent ; fi type=AVC msg=audit(1566824781.750:169760): avc: denied { write } for pid=5361 comm="ip" path="/tmp/pluto.log" dev="dm-0" ino=942309374 scontext=unconfined_u:system_r:ifconfig_t:s0 tcontext=unconfined_u:object_r:container_file_t:s0:c718,c778 tclass=file permissive=1 kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]# : ==== end ==== kroot@swantest:/home/build/libreswan/testing/pluto/ikev2-algo-esn-06\[root@west ikev2-algo-esn-06]#