<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi,<br>
<br>
I'm stumped by the kernel 2.6 changes to openswan use.<br>
<br>
On the server end, I have a Fedora Core 4 (FC4) linux server with
openswan 2.4 installed.&nbsp; Eth0 is on the Internet, Eth1 is private.&nbsp; I
can ping eth0 from the outside; I can ping eth1 from the inside.&nbsp; IP
forwarding is enabled.<br>
<br>
VPN Server:<br>
Eth0 x.y.z.58/27, gw x.y.z.33 (External, public)<br>
Eth1 172.20.7.145/21<br>
<br>
The 172.20.0.0 LAN has it's default route s 172.20.0.1.&nbsp; Name servers
are internal at 172.20.7.194 and 172.20.7.194.&nbsp; They resolve against an
internal domain and then recurse anything not found in the internal
domain.<br>
<br>
ipsec verify looks good:<br>
<tt>[root@vpn ~]# ipsec verify<br>
Checking your system to see if IPsec got installed and started
correctly:<br>
Version check and ipsec on-path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Linux Openswan U2.4.0/K2.6.12-1.1447_FC4 (netkey)<br>
Checking for IPsec support in kernel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking for RSA private key (/etc/ipsec.secrets)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking that pluto is running&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Two or more interfaces found, checking IP forwarding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking NAT and MASQUERADEing&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
Checking for 'ip' command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking for 'iptables' command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking for 'curl' command for CRL fetching&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [OK]<br>
Checking for 'setkey' command for NETKEY IPsec stack support&nbsp;&nbsp;&nbsp; [OK]<br>
Opportunistic Encryption Support&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
[DISABLED]<br>
[root@vpn ~]# </tt><br>
<br>
On the client end, I have Windows 2000 and the Greenbow VPN client.&nbsp;
The Win2K workstation is behind a Linux firewall providing NAT via
Shorewall firewall.&nbsp; I have a self-signed CA built and certificates
properly generated and signed.<br>
<br>
Client side:<br>
Win2K: 192.168.0.62/24 (DHCP), gw 192.168.0.1, name servers are
Adelphias.<br>
Linux-Shorewall firewall:<br>
Eth1:&nbsp; 192.168.0.1<br>
Eth0:&nbsp; Dynamic, Adelphia, currently 70.33.197.36<br>
<br>
I have openswan and greenbow correctly configured in that I have a
successful tunnel.&nbsp; Below is my ipsec.conf.<br>
<br>
<tt>version 2.0&nbsp;&nbsp;&nbsp;&nbsp; # conforms to second version of ipsec.conf
specification<br>
<br>
# basic configuration<br>
config setup<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # plutodebug / klipsdebug = "all", "none" or a combation from
below:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # "raw crypt parsing emitting control klips pfkey natt x509
private"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # eg:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # plutodebug="control parsing"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Only enable klipsdebug=all if you are a developer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # NAT-TRAVERSAL support, see README.NAT-Traversal<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # nat_traversal=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%4:172.16.0.0/12<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Debug-logging controls:&nbsp; "none" for (almost) none, "all" for
lots.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; interfaces=%defaultroute<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nat_traversal=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # crlcheckinterval=600<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # strictcrlpolicy=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # klipsdebug=all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; klipsdebug=none<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # plutodebug="control parse"<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; plutodebug=none<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16<br>
<br>
conn %default<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftrsasigkey=%cert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightrsasigkey=%cert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Left security gateway, subnet behind it, next hop toward
right.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rekey=no<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyingtries=1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compress=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; disablearrivalcheck=no<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left=%defaultroute<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authby=rsasig<br>
<br>
#Disable Opportunistic Encryption<br>
include /etc/ipsec.d/examples/no_oe.conf<br>
<br>
# left = local (vpn)<br>
# right = remote (DGE Win2K Box, dynamic)<br>
conn dgevpn-net<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftsubnet=172.20.0.0/21<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; also=dgevpn<br>
<br>
conn dgevpn<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # VPN connection from Darren's Win2K machine<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rekey=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyingtries=1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; authby=rsasig<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftrsasigkey=%cert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left=%defaultroute<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightrsasigkey=%cert<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightsubnet=vhost:%no,%priv<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leftcert=vpn.pem<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rightcert=dgecert.pem<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; right=%any<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pfs=yes<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auto=add</tt><br>
<br>
There is a server on the 172.20.0.0/21 LAN, 172.200.7.193 that I am
trying to access.&nbsp; I am unable to ping it.&nbsp; I found that I had an
asymetric routing problem as the VPN server is not the default
gateway.&nbsp; So, I added a route to the default gateway to forward all
traffice destined for the 192.168.0.0/24 LAN back to the VPN server.<br>
<br>
Ethereal reports pings reaching 172.20.7.193 from 192.168.0.62 and
172.20.7.193 replies to 192.168.0.62.&nbsp; The replies are routed to
172.20.0.1, which forwards them to 172.20.7.145 via a simple static
route.<br>
<br>
Clearly, I misunderstand somethig or have misconfigured something&nbsp; as I
am not able to get traffic to flow properly over the established
tunnel.&nbsp; I have googled for help, as well as reviewed the openswan 2.4
docs.&nbsp; Unfortunately, I am using 2.6.11 or newer kernels, and there
seems to be very little documenation on the "new" way of doing things.&nbsp;
I have successfully used openswan 2.3.1 with 2.4 kernels, but they had
ipsec0 interfaces to work with.<br>
<br>
My questions are as follows:<br>
1.&nbsp; What other information do I need to provide to the list?&nbsp; This is a
fairly complex configuration, at least for me, though it's real-world
common, and I'm sure I omitted a detail or three.<br>
2.&nbsp; Do I need to be using racoon or KLIPS?&nbsp; I think I should be using
KLIPS and am doing so at the moment.<br>
<blockquote><tt>[root@vpn ~]# rpm -qa | grep openswan<br>
openswan-2.4.0-1<br>
openswan-klips-2.4.0-2.6.12_1.1447_FC4_1<br>
openswan-doc-2.4.0-1<br>
[root@vpn ~]# </tt><br>
</blockquote>
<br>
3.&nbsp; Is there a HOWTO doc somewhere that details the steps and
requirements?<br>
<br>
Thanks.<br>
<br>
Darren<br>
<br>
</body>
</html>