On 02/03/2017 09:31 AM, Paul Wouters wrote:
On Thu, 2 Feb 2017, Jeff Becker wrote:

Hi. Using libreswan, I was able to set up an unlabeled ipsec tunnel between two CentOS 7.3 hosts.

However, if I add the following to my ipsec.conf...

        labeled-ipsec=yes
policy-label=unconfined.user:msg_filter.role:msg_filter.ext_gateway.process:s0

restart ipsec on both sides, add the new tunnel and try to bring it up, I get:

117 "dtsd-tunnel" #2: STATE_QUICK_I1: initiate
003 "dtsd-tunnel" #2: ERROR: netlink XFRM_MSG_UPDPOLICY response for flow tun.10000@198.9.7.199 included errno 22: Invalid argument 002 "dtsd-tunnel" #2: raw_eroute() in setup_half_ipsec_sa() failed to add inbound

I chose the policy-label from the example in the latest SELinux notebook (https://selinuxproject.org/page/Category:Notebook). Not sure if
that's the issue, or if it's something else. Please advise. Thanks.

Our test configuration uses:

    policy_label=system_u:object_r:ipsec_spd_t:s0-s15:c0.c1023

I got the above (actually policy-label=system_u:object_r:ipsec_spd_t:s0) to work by fixing an AVC denial. Now when I bring up the tunnel I see:

# ipsec auto --up dtsd-tunnel
002 "dtsd-tunnel" #1: initiating Main Mode
104 "dtsd-tunnel" #1: STATE_MAIN_I1: initiate
003 "dtsd-tunnel" #1: received Vendor ID payload [Dead Peer Detection]
003 "dtsd-tunnel" #1: received Vendor ID payload [FRAGMENTATION]
003 "dtsd-tunnel" #1: received Vendor ID payload [RFC 3947]
002 "dtsd-tunnel" #1: enabling possible NAT-traversal with method RFC 3947 (NAT-Traversal) 002 "dtsd-tunnel" #1: transition from state STATE_MAIN_I1 to state STATE_MAIN_I2
106 "dtsd-tunnel" #1: STATE_MAIN_I2: sent MI2, expecting MR2
003 "dtsd-tunnel" #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal) sender port 500: no NAT detected 002 "dtsd-tunnel" #1: transition from state STATE_MAIN_I2 to state STATE_MAIN_I3
108 "dtsd-tunnel" #1: STATE_MAIN_I3: sent MI3, expecting MR3
003 "dtsd-tunnel" #1: received Vendor ID payload [CAN-IKEv2]
002 "dtsd-tunnel" #1: Main mode peer ID is ID_IPV4_ADDR: '198.9.7.198'
002 "dtsd-tunnel" #1: transition from state STATE_MAIN_I3 to state STATE_MAIN_I4 004 "dtsd-tunnel" #1: STATE_MAIN_I4: ISAKMP SA established {auth=RSA_SIG cipher=aes_256 integ=sha group=MODP2048} 002 "dtsd-tunnel" #2: initiating Quick Mode RSASIG+ENCRYPT+TUNNEL+PFS+UP+IKEV1_ALLOW+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW {using isakmp#1 msgid:3849768f proposal=defaults pfsgroup=OAKLEY_GROUP_MODP2048}
117 "dtsd-tunnel" #2: STATE_QUICK_I1: initiate
002 "dtsd-tunnel" #2: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2 004 "dtsd-tunnel" #2: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode {ESP=>0xc01ab79f <0x4f6e6b26 xfrm=AES_128-HMAC_SHA1 NATOA=none NATD=none DPD=passive}

I don't see anything above that indicates that labeled ipsec is being used, but maybe that's OK. Anyhow, after setting this up, I can't seem to ping the other side of the tunnel (I was able to ping in the case without labeled ipsec). Any suggestions are appreciated. Thanks.

-jeff


I think we also needed to put the system in MLS mode for this to properly work?

I'll ask some of the selinux people inside Red Hat if they know more.

Paul


_______________________________________________
Swan mailing list
Swan@lists.libreswan.org
https://lists.libreswan.org/mailman/listinfo/swan

Reply via email to