Bug 1028369
Summary: | libreswan doesn't recognize the loopback option | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Aleš Mareček <amarecek> |
Component: | libreswan | Assignee: | Paul Wouters <pwouters> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Aleš Mareček <amarecek> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.0 | CC: | amarecek, eparis, jrieden, omoris, pwouters, sforsber, sgrubb |
Target Milestone: | beta | ||
Target Release: | 7.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | libreswan-3.8-1.el7 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 833910 | Environment: | |
Last Closed: | 2014-06-13 10:42:20 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 833910 | ||
Bug Blocks: | 717785 |
Description
Aleš Mareček
2013-11-08 10:02:26 UTC
This works fine in libreswan. Can this be closed as notabug? [root@rhel7a ~]# cat /etc/ipsec.conf config setup protostack=netkey dumpdir=/var/run/pluto/ nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v6:fd00::/8,%v6:fe80::/10 plutostderrlog=/tmp/pluto.log secctx_attr_value=32001 plutodebug=all conn test left=%defaultroute right=1.2.3.4 [root@rhel7a ~]# ipsec auto --add test [root@rhel7a ~]# ipsec status |grep loopback 000 "test": labeled_ipsec:no, loopback:yes; (In reply to Paul Wouters from comment #2) > This works fine in libreswan. Can this be closed as notabug? > > [root@rhel7a ~]# cat /etc/ipsec.conf > > config setup > protostack=netkey > dumpdir=/var/run/pluto/ > nat_traversal=yes > > virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0. > 0.0/8,%v6:fd00::/8,%v6:fe80::/10 > plutostderrlog=/tmp/pluto.log > secctx_attr_value=32001 > plutodebug=all > > conn test > left=%defaultroute > right=1.2.3.4 > > [root@rhel7a ~]# ipsec auto --add test > [root@rhel7a ~]# ipsec status |grep loopback > 000 "test": labeled_ipsec:no, loopback:yes; And is that connection work for you? I am currently testing labeled ipsec in mls on loopback, but it does not work even if I disable labeling, ie: # echo 0 > /proc/sys/net/ipv4/conf/lo/disable_xfrm # echo 0 > /proc/sys/net/ipv4/conf/lo/disable_policy # ip xfrm state flush && ip xfrm policy flush # cat /etc/ipsec.conf ... config setup protostack=netkey nat_traversal=yes plutostderrlog=/var/log/pluto.log secctx_attr_value=32001 conn test1-1-ipv4 auto=route rekey=no authby=secret type=transport left=127.0.0.1 right=127.0.0.1 ike=3des-sha1 phase2=esp phase2alg=aes-sha1 loopback=yes #labeled_ipsec=yes #policy_label=system_u:object_r:ipsec_spd_t:s0-s15:c0.c1023 leftprotoport=tcp/4300 rightprotoport=tcp conn test1-2-ipv4 auto=route rekey=no authby=secret type=transport left=127.0.0.1 right=127.0.0.1 ike=3des-sha1 phase2=esp phase2alg=aes-sha1 loopback=yes #labeled_ipsec=yes #policy_label=system_u:object_r:ipsec_spd_t:s0-s15:c0.c1023 leftprotoport=tcp rightprotoport=tcp/4300 # service ipsec restart # nc -vvv -l 127.0.0.1 4300 Ncat: Version 6.40 ( http://nmap.org/ncat ) NCAT DEBUG: Initialized fdlist with 102 maxfds Ncat: Listening on 127.0.0.1:4300 NCAT DEBUG: Added fd 3 to list, nfds 1, maxfd 3 NCAT DEBUG: Added fd 0 to list, nfds 2, maxfd 3 NCAT DEBUG: Initialized fdlist with 100 maxfds NCAT DEBUG: selecting, fdmax 3 ^C # nc 127.0.0.1 4300 -vvv Ncat: Version 6.40 ( http://nmap.org/ncat ) libnsock nsi_new2(): nsi_new (IOD #1) libnsock nsock_connect_tcp(): TCP connection requested to 127.0.0.1:4300 (IOD #1) EID 8 libnsock nsock_trace_handler_callback(): Callback: CONNECT ERROR [Connection timed out (110)] for EID 8 [127.0.0.1:4300] Ncat: Connection timed out. # ipsec barf ... Jan 21 16:24:41 cc-toe1 pluto[5316]: initiate on demand from 127.0.0.1:0 to 127.0.0.1:4300 proto=6 state: fos_start because: acquire Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-2-ipv4" #5: initiating Quick Mode PSK+ENCRYPT+PFS+DONTREKEY+IKEv2ALLOW+SAREFTRACK+IKE_FRAG {using isakmp#2 msgid:3eb04dd7 proposal=AES(12)_256-SHA1(2)_160 pfsgroup=OAKLEY_GROUP_MODP1536} Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-2-ipv4" #1: the peer proposed: 127.0.0.1/32:6/0 -> 127.0.0.1/32:6/4300 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: responding to Quick Mode proposal {msgid:3eb04dd7} Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: us: 127.0.0.1<127.0.0.1>:6/4300 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: them: 127.0.0.1<127.0.0.1>:6/0 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: keeping refhim=0 during rekey Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: transition from state STATE_QUICK_R0 to state STATE_QUICK_R1 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: STATE_QUICK_R1: sent QR1, inbound IPsec SA installed, expecting QI2 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-2-ipv4" #5: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-2-ipv4" #5: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0x069495af <0x40612a72 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: transition from state STATE_QUICK_R1 to state STATE_QUICK_R2 Jan 21 16:24:41 cc-toe1 pluto[5316]: "test1-1-ipv4" #6: STATE_QUICK_R2: IPsec SA established transport mode {ESP=>0x40612a72 <0x069495af xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} Jan 21 16:24:42 cc-toe1 pluto[5316]: initiate on demand from 127.0.0.1:57804 to 127.0.0.1:4300 proto=6 state: fos_start because: acquire Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-2-ipv4" #7: initiating Quick Mode PSK+ENCRYPT+PFS+DONTREKEY+IKEv2ALLOW+SAREFTRACK+IKE_FRAG {using isakmp#2 msgid:466b9e6b proposal=AES(12)_256-SHA1(2)_160 pfsgroup=OAKLEY_GROUP_MODP1536} Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-2-ipv4" #1: the peer proposed: 127.0.0.1/32:6/0 -> 127.0.0.1/32:6/4300 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: responding to Quick Mode proposal {msgid:466b9e6b} Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: us: 127.0.0.1<127.0.0.1>:6/4300 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: them: 127.0.0.1<127.0.0.1>:6/0 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: keeping refhim=0 during rekey Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: transition from state STATE_QUICK_R0 to state STATE_QUICK_R1 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: STATE_QUICK_R1: sent QR1, inbound IPsec SA installed, expecting QI2 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-2-ipv4" #7: transition from state STATE_QUICK_I1 to state STATE_QUICK_I2 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-2-ipv4" #7: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0xf876bce3 <0x34c53215 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: transition from state STATE_QUICK_R1 to state STATE_QUICK_R2 Jan 21 16:24:42 cc-toe1 pluto[5316]: "test1-1-ipv4" #8: STATE_QUICK_R2: IPsec SA established transport mode {ESP=>0x34c53215 <0xf876bce3 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} + _________________________ date + date Tue Jan 21 16:25:27 CET 2014 It seems that tunnel has been established, but nc timed out. If a non-secured port is used, it works fine: # nc -vvv -l 127.0.0.1 5300 Ncat: Version 6.40 ( http://nmap.org/ncat ) NCAT DEBUG: Initialized fdlist with 102 maxfds Ncat: Listening on 127.0.0.1:5300 NCAT DEBUG: Added fd 3 to list, nfds 1, maxfd 3 NCAT DEBUG: Added fd 0 to list, nfds 2, maxfd 3 NCAT DEBUG: Initialized fdlist with 100 maxfds NCAT DEBUG: selecting, fdmax 3 NCAT DEBUG: select returned 1 fds ready NCAT DEBUG: fd 3 is ready Ncat: Connection from 127.0.0.1. NCAT DEBUG: Swapping fd[0] (3) with fd[1] (0) NCAT DEBUG: Removed fd 3 from list, nfds 1, maxfd 0 Ncat: Connection from 127.0.0.1:35638. NCAT DEBUG: Added fd 4 to list, nfds 2, maxfd 4 NCAT DEBUG: Added fd 4 to list, nfds 1, maxfd 4 NCAT DEBUG: selecting, fdmax 4 test NCAT DEBUG: selecting, fdmax 4 NCAT DEBUG: select returned 1 fds ready NCAT DEBUG: fd 4 is ready NCAT DEBUG: Closing connection. NCAT DEBUG: Swapping fd[1] (4) with fd[1] (4) NCAT DEBUG: Removed fd 4 from list, nfds 1, maxfd 0 NCAT DEBUG: Swapping fd[0] (4) with fd[0] (4) NCAT DEBUG: Removed fd 4 from list, nfds 0, maxfd -1 # nc 127.0.0.1 5300 -vvv Ncat: Version 6.40 ( http://nmap.org/ncat ) libnsock nsi_new2(): nsi_new (IOD #1) libnsock nsock_connect_tcp(): TCP connection requested to 127.0.0.1:5300 (IOD #1) EID 8 libnsock nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:5300] Ncat: Connected to 127.0.0.1:5300. libnsock nsi_new2(): nsi_new (IOD #2) libnsock nsock_read(): Read request from IOD #1 [127.0.0.1:5300] (timeout: -1ms) EID 18 libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 26 test libnsock nsock_trace_handler_callback(): Callback: READ SUCCESS for EID 26 [peer unspecified] (5 bytes): test. libnsock nsock_trace_handler_callback(): Callback: WRITE SUCCESS for EID 35 [127.0.0.1:5300] libnsock nsock_readbytes(): Read request for 0 bytes from IOD #2 [peer unspecified] EID 42 ^C And not for me, here is the full log: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ LOG ] :: General Setup :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: libreswan-3.8-1.el7.ppc64 :: [ PASS ] :: Checking for the presence of libreswan rpm :: [ 10:56:47 ] :: Package versions: :: [ 10:56:47 ] :: libreswan-3.8-1.el7.ppc64 Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: inactive (dead) since Tue 2014-01-21 10:56:10 EST; 36s ago Process: 29232 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 29227 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 29225 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 29118 ExecStart=/bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` (code=exited, status=0/SUCCESS) Process: 29056 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 29054 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 29118 (code=exited, status=0/SUCCESS) Jan 21 10:55:59 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29121]: | entering aalg_getbyname_ike() /usr/sbin/tcpdump /usr/bin/nc :: [ PASS ] :: File /etc/ipsec.conf should exist :: [ PASS ] :: File /etc/ipsec.secrets should exist :: [ PASS ] :: Running 'echo 0 > /proc/sys/net/ipv4/conf/lo/disable_xfrm' (Expected 0, got 0) :: [ PASS ] :: Running 'echo 0 > /proc/sys/net/ipv4/conf/lo/disable_policy' (Expected 0, got 0) :: [ PASS ] :: Running 'restorecon -Rv /etc/' (Expected 0, got 0) :: [ PASS ] :: Running 'ip xfrm state flush' (Expected 0, got 0) :: [ PASS ] :: Running 'systemctl enable ipsec.service' (Expected 0, got 0) :: [ 10:56:48 ] :: [ INFO ] :: Config files ====== CONFIG file '/etc/ipsec.conf' ====== config setup protostack=netkey nat_traversal=yes plutostderrlog=/var/log/pluto.log conn TestA auto=add authby=secret type=transport left=127.0.0.1 right=127.0.0.1 ike=3des-sha1 phase2=esp phase2alg=aes-sha1 loopback=yes leftprotoport=tcp/6000 rightprotoport=tcp conn TestB auto=add authby=secret type=transport left=127.0.0.1 right=127.0.0.1 ike=3des-sha1 phase2=esp phase2alg=aes-sha1 loopback=yes leftprotoport=tcp rightprotoport=tcp/6000 ====== CONFIG file '/etc/ipsec.secrets' ====== : PSK "whatever" :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ LOG ] :: Loopback test :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: inactive (dead) since Tue 2014-01-21 10:56:10 EST; 37s ago Main PID: 29118 (code=exited, status=0/SUCCESS) Jan 21 10:55:59 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29121]: | entering aalg_getbyname_ike() Redirecting to /bin/systemctl start ipsec.service 000 "TestA": labeled_ipsec:no, loopback:yes; 000 "TestA": labeled_ipsec:no, loopback:yes; 000 "TestB": labeled_ipsec:no, loopback:yes; 000 "TestB": labeled_ipsec:no, loopback:yes; :: [ PASS ] :: TEST: loopback enabled (Expected 0, got 0) Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: active (running) since Tue 2014-01-21 10:56:49 EST; 3s ago Process: 29710 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 29707 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 29772 (sh) CGroup: /system.slice/ipsec.service ├─29772 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─29774 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─29775 /usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork └─29808 _pluto_adns Jan 21 10:56:49 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29775]: adding interface eth0/eth0 fec0:0:a10:4000:e61f:13ff:fe8e:c144:500 Redirecting to /bin/systemctl stop ipsec.service :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ LOG ] :: Loopback test - TestA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: inactive (dead) since Tue 2014-01-21 10:56:52 EST; 2s ago Process: 29860 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 29857 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 29854 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 29772 ExecStart=/bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` (code=exited, status=0/SUCCESS) Process: 29710 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 29707 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 29772 (code=exited, status=0/SUCCESS) Jan 21 10:56:50 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29775]: added connection description "TestB" Redirecting to /bin/systemctl start ipsec.service 104 "TestA" #1: STATE_MAIN_I1: initiate 003 "TestA" #1: received Vendor ID payload [Dead Peer Detection] 003 "TestA" #1: received Vendor ID payload [FRAGMENTATION] 003 "TestA" #1: received Vendor ID payload [RFC 3947] 106 "TestA" #1: STATE_MAIN_I2: sent MI2, expecting MR2 003 "TestA" #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): no NAT detected 108 "TestA" #1: STATE_MAIN_I3: sent MI3, expecting MR3 003 "TestA" #1: received Vendor ID payload [CAN-IKEv2] 004 "TestA" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=oakley_3des_cbc_192 prf=oakley_sha group=modp1536} 117 "TestA" #3: STATE_QUICK_I1: initiate 004 "TestA" #3: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0xf2c58569 <0x0d2c2053 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} :: [ PASS ] :: Running 'ipsec auto --up TestA' (Expected 0, got 0) tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes :: [ PASS ] :: Running 'ip xfrm state >state-xfrm.log' (Expected 0, got 0) Ncat: Version 6.40 ( http://nmap.org/ncat ) Ncat: Connection timed out. ./runtest.sh: line 124: 30039 Stack fault nc -l 127.0.0.1 ${_TCP_PORT} > ${_TCP_LOG} 2>&1 ./runtest.sh: line 124: 30037 Stack fault tcpdump -vv -e -nn -i lo ip "proto 50" -U -w ${_LOOPBACK_LOG} :: [ FAIL ] :: File 'tcp-port-6000.log' should contain 'Hi' reading from file loopback-tcpdump.log, link-type EN10MB (Ethernet) :: [ PASS ] :: ESP packets transported via loopback found (Assert: "2" should be greater than "0") :: [ PASS ] :: Running 'ipsec auto --down TestA' (Expected 0, got 0) Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: active (running) since Tue 2014-01-21 10:56:54 EST; 18s ago Process: 29860 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 29857 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 29854 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 29906 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 29903 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 29968 (sh) CGroup: /system.slice/ipsec.service ├─29968 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─29970 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─29971 /usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork └─30004 _pluto_adns Jan 21 10:57:11 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29971]: "TestB" #2: received Delete SA(0x0d2c2053) payload: deleting IPSEC State #4 Redirecting to /bin/systemctl stop ipsec.service :: [ 10:57:15 ] :: [ INFO ] :: Log files ====== State log ====== src 127.0.0.1 dst 127.0.0.1 proto esp spi 0x0d2c2053 reqid 16385 mode transport replay-window 32 auth-trunc hmac(sha1) 0x6517b94b09083c3761ebe3851d2525ace543beea 96 enc cbc(aes) 0x0fd498b9c3112d81968c0db541acf49fd6d2999cea7b870a0a378f61de15ad38 sel src 127.0.0.1/32 dst 127.0.0.1/32 proto tcp dport 6000 src 127.0.0.1 dst 127.0.0.1 proto esp spi 0xf2c58569 reqid 16389 mode transport replay-window 0 sel src 127.0.0.1/32 dst 127.0.0.1/32 ====== TCP log ====== ====== Loopback log ====== reading from file loopback-tcpdump.log, link-type EN10MB (Ethernet) 10:57:06.103567 IP localhost > localhost: ESP(spi=0x0d2c2053,seq=0x1), length 84 10:57:07.096848 IP localhost > localhost: ESP(spi=0x10061105,seq=0x1), length 84 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: [ LOG ] :: Loopback test - TestB :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: inactive (dead) since Tue 2014-01-21 10:57:13 EST; 2s ago Process: 30122 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 30119 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 30112 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 29968 ExecStart=/bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` (code=exited, status=0/SUCCESS) Process: 29906 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 29903 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 29968 (code=exited, status=0/SUCCESS) Jan 21 10:57:11 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[29971]: packet from 127.0.0.1:500: Informational Exchange is for an unknown (expired?) SA with MSGID:0x173d304e Redirecting to /bin/systemctl start ipsec.service 104 "TestB" #1: STATE_MAIN_I1: initiate 003 "TestB" #1: received Vendor ID payload [Dead Peer Detection] 003 "TestB" #1: received Vendor ID payload [FRAGMENTATION] 003 "TestB" #1: received Vendor ID payload [RFC 3947] 106 "TestB" #1: STATE_MAIN_I2: sent MI2, expecting MR2 003 "TestB" #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): no NAT detected 108 "TestB" #1: STATE_MAIN_I3: sent MI3, expecting MR3 003 "TestB" #1: received Vendor ID payload [CAN-IKEv2] 004 "TestB" #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=oakley_3des_cbc_192 prf=oakley_sha group=modp1536} 117 "TestB" #3: STATE_QUICK_I1: initiate 004 "TestB" #3: STATE_QUICK_I2: sent QI2, IPsec SA established transport mode {ESP=>0x19e945a4 <0x49df6ed7 xfrm=AES_256-HMAC_SHA1 NATOA=none NATD=none DPD=none} :: [ PASS ] :: Running 'ipsec auto --up TestB' (Expected 0, got 0) tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes :: [ PASS ] :: Running 'ip xfrm state >state-xfrm.log' (Expected 0, got 0) Ncat: Version 6.40 ( http://nmap.org/ncat ) Ncat: Connection timed out. ./runtest.sh: line 124: 30308 Stack fault nc -l 127.0.0.1 ${_TCP_PORT} > ${_TCP_LOG} 2>&1 ./runtest.sh: line 124: 30306 Stack fault tcpdump -vv -e -nn -i lo ip "proto 50" -U -w ${_LOOPBACK_LOG} :: [ FAIL ] :: File 'tcp-port-6000.log' should contain 'Hi' reading from file loopback-tcpdump.log, link-type EN10MB (Ethernet) :: [ FAIL ] :: ESP packets transported via loopback found (Assert: "0" should be greater than "0") :: [ PASS ] :: Running 'ipsec auto --down TestB' (Expected 0, got 0) Redirecting to /bin/systemctl status ipsec.service ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled) Active: active (running) since Tue 2014-01-21 10:57:16 EST; 18s ago Process: 30122 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 30119 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 30112 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 30175 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 30172 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 30237 (sh) CGroup: /system.slice/ipsec.service ├─30237 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─30239 /bin/sh -c eval `/usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork $PLUTO_OPTIONS` ├─30240 /usr/libexec/ipsec/pluto --config /etc/ipsec.conf --nofork └─30273 _pluto_adns Jan 21 10:57:32 ibm-p730-03-lp2.rhts.eng.bos.redhat.com pluto[30240]: "TestB" #3: deleting state (STATE_QUICK_I2) Redirecting to /bin/systemctl stop ipsec.service :: [ 10:57:36 ] :: [ INFO ] :: Log files ====== State log ====== src 127.0.0.1 dst 127.0.0.1 proto esp spi 0x49df6ed7 reqid 16389 mode transport replay-window 32 auth-trunc hmac(sha1) 0xe2378d7296ab5660256a443a2e03a847b14f7e18 96 enc cbc(aes) 0xbe5166992cefb9d14be3c51e173bec2463f7b1acc290d5382425f2517e724e5b sel src 127.0.0.1/32 dst 127.0.0.1/32 proto tcp sport 6000 src 127.0.0.1 dst 127.0.0.1 proto esp spi 0x19e945a4 reqid 16385 mode transport replay-window 0 sel src 127.0.0.1/32 dst 127.0.0.1/32 ====== TCP log ====== ====== Loopback log ====== reading from file loopback-tcpdump.log, link-type EN10MB (Ethernet) On this last run it _does_ recognise the loopback option, and the SA establishes. But you are not seeing the traffic flow properly. Could this be related to https://bugzilla.redhat.com/show_bug.cgi?id=986065 that showed a fix and then regression again. Can you try with kernel-3.10.0-55.el7 ? (not newer and not older kernels) It looks like it is not working for some time now, I have tried even kernel-3.10.0-55.el7 and it is still broken there. It would be the best to close this bug as verified since the issue reported here is definitely fixed now. The new issue is tracked separately - Bug 1056559. This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |