[Openswan Users] Openswan 2.6.22/CentOS 5.3: what should I see when it is working?

Kevin White openswan-kevin at kevbo.org
Mon Aug 31 17:37:17 EDT 2009


I'm trying to set up a VPN between a CentOS 5.3 box and a Cisco router.

I don't have complete control over the Cisco side of the network.  I've 
temporarily been given control of the router, but it isn't a critical 
border device at the moment.  It has a loopback device configured, as 
well as a route in to an internal network.  I should be able to contact 
a host on either once the VPN is set up, and I cannot.

What's confusing me is that it doesn't look like the CentOS box is 
actually routing anything...however, I suspect I just can't see the 
routes in any normal way.  There's so much unknown here that I'm just 
not sure why things aren't working.

First, I'm using Netkey.  I tried this setup with CentOS 5.3 and the 
distro provided Openswan 2.6.14 and ran into the problem, so I compiled 
Openswan 2.6.22 by hand, so that's what I'm running now.  I tried KLIPS 
(hoping that the ipsec0 device would make things more clear), but I had 
the compilation problem on CentOS 5.3 reported earlier.  I tried the fix 
as proposed on the mailing list, and that just resulted in a KLIPS 
module that seriously breaks the system (after a modprobe ipsec, I can't 
even run an "ifconfig" any more...no interfaces show up, and the only 
way to recover is reboot).  So, I went back to Netkey.

My configuration is pretty darn simple:

x.x.x.x represents the right ip
y.y.y.y is the left
ppp_peer is y.y.y.y's upstream ppp peer.

conn X_1-Y2_1
      type=tunnel
      pfs=no
      left=%defaultroute
      leftsubnet=192.168.10.0/24
      leftid=@X2
      leftnexthop=%defaultroute
      right=x.x.x.x
      rightsubnet=192.168.99.0/24
      auto=start
      esp=3des-md5-96
      authby=secret

The upstream is a ppp device (wireless).  2.6.14 couldn't handle 
%defaultroute in this case, 2.6.22 can.

There's basically nothing in /etc/ipsec.conf (protostack=netkey, 
nat_traversal=no).

On the Cisco side, everything looks like it is up.  On the Openswan 
side, everything also looks good:

000 #2: "X_1-Y2_1":500 STATE_QUICK_I2 (sent QI2, IPsec SA established); 
EVENT_SA_REPLACE in 27868s; newest IPSEC; eroute owner; isakmp#1; idle; 
import:admin initiate
000 #2: "X_1-Y2_1" esp.7a017fe5 at x.x.x.x esp.729ec515 at y.y.y.y 
tun.0 at x.x.x.x tun.0 at y.y.y.y ref=0 refhim=4294901761
000 #1: "X_1-Y2_1":500 STATE_MAIN_I4 (ISAKMP SA established); 
EVENT_SA_REPLACE in 2933s; newest ISAKMP; lastdpd=-1s(seq in:0 out:0); 
idle; import:admin initiate

However, if I go to a machine on 192.168.10.x/24 and configure it to 
route 192.168.99.0/24 to 192.168.10.99 (the Openswan box), and then try 
to telnet, I don't see the telnet session go through.

I do, however, see this:

Aug 31 21:27:42 pgKevTest09 ipmon accept IN=eth0 OUT=ppp0 
SRC=192.168.10.10 DST=192.168.99.1 LEN=52 TOS=0x00 PREC=0x00 TTL=127 
ID=27309 DF PROTO=TCP SPT=49533 DPT=23 WINDOW=8192 RES=0x00 SYN URGP=0

which is what should happen...packet comes in eth0, goes out ppp0 
(ip_forward is set to 1).  The telnet never goes through.

So I can't tell if the problem is on my side, or on the network on the 
other side.  (They set up a second network that I should be able to get 
to from the Cisco, and I set up a second tunnel to that subnet, and 
still didn't see the traffic get to a machine on that subnet.)

Since the contents of "ip route" doesn't actually show 192.168.99.0/24, 
I thought maybe routing wasn't working.  However, that ipmon rule kind 
of shows that routing is working.  I wish I knew how routing actually 
works with Netkey.

[root at pgKevTest09 ipsec.d]# ip route
ppp_peer dev ppp0  proto kernel  scope link  src y.y.y.y
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.99
169.254.0.0/16 dev eth0  scope link
default dev ppp0  scope link

This also appears:

[root at pgKevTest09 ipsec.d]# ipsec auto --status|grep eroute
000 "X_1-Y2_1": 
192.168.10.0/24===y.y.y.y[@X2,+S=C]---ppp_peer...x.x.x.x<x.x.x.x>[+S=C]===192.168.99.0/24; 
erouted; eroute owner: #2

So everything looks like the eroute is set up...if the only place you 
actually see anything about the eroute is in ipsec auto --status.

Is there any other sort of testing I can do?

Kevin


More information about the Users mailing list