Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by Todd » Sun, 12 Nov 2000 04:00:00



Has anyone succesfully configured an OpenBSD NAT/firewall to allow an
IPSec-based VPN client on the LAN side to pass through NAT and connect
to the remote server successfully?

I'm attempting to use Nortel Extranet Acccess Client to connect to a
remote VPN server at my employer via cable modem--but I've been
unsuccessful thus far.  I'm not sure of the hardware on my employer's
end, but the client-side software is Nortel Extranet Access Client
(V02_62.33 Sep 8 2000).

All other NAT seems to work fine.  I've added "log" directives to all
my ipf rules and even disabled them all and find no indication that
the IPSec traffic is even being forwarded.  I've tried enabling ESP in
/etc/sysctrl.conf to no avail.  

Based on a lot of net.digging of the ng's, it appears thus far that
OpenBSD's ipnat is not capable of dealing with the IPSec correctly.
What confuses me is that the inexpensive Linksys cable-modem router
(BEFSR41) can handle this--they've recently released a BIOS update
that touts "IPSec passthru now supported" which coworkers have used
successfully.  I understand that there's been a Linux patch for this
as well, and even the CoyoteLinux router supports this arrangement.

Is there an equivalent patch for OpenBSD that allows ipnat to
appropriately handle ESP (port 50) translation that's evidently needed
for this to work?

+----------+
|Win2k box |         +----------------+   +-----------+

|Nortel    |         +----------------+   +-----------+
|Extranet  |
|Client    |
+----------+

I've been scouring the 'net trying to find a fix to no avail.  I'm
having religious difficutly thinking that there is something a Linksys
BEFSR41 router ($160) can do that OpenBSD can't!

Thank you in advance for any assistance or advice.

Best Regards,
Todd

 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by Todd » Tue, 14 Nov 2000 04:00:00


I'm still searching for an answer for OpenBSD's support or non-support
for NAT on ESP-based IPSec.   The silence is eerie.  :-)  I've found
happines in implementing a Linux-based firewall solution, however, I'd
have much preferred to take advantage of OpenBSD's superior security.
:-\

The best explanations of the challenges and solutions to doing NAT
with IPSec traffic is here in the Linux VPN how-to.  Especially
germane to the Nortel client (which uses IPsec ESP) are sections 2.2,
and 2.10 where it describes that kernel mods are necessary to support
NAT on protocols other than tcp, udp, and icmp (such as ESP and GRE):

   ftp://ftp.rubyriver.com/pub/jhardin/masquerade/VPN-howto/VPN-Masquera...

Best Regards,
Todd


> Has anyone succesfully configured an OpenBSD NAT/firewall to allow an
> IPSec-based VPN client on the LAN side to pass through NAT and connect
> to the remote server successfully?

> I'm attempting to use Nortel Extranet Acccess Client to connect to a
> remote VPN server at my employer via cable modem--but I've been
> unsuccessful thus far.  I'm not sure of the hardware on my employer's
> end, but the client-side software is Nortel Extranet Access Client
> (V02_62.33 Sep 8 2000).

> All other NAT seems to work fine.  I've added "log" directives to all
> my ipf rules and even disabled them all and find no indication that
> the IPSec traffic is even being forwarded.  I've tried enabling ESP in
> /etc/sysctrl.conf to no avail.  

> Based on a lot of net.digging of the ng's, it appears thus far that
> OpenBSD's ipnat is not capable of dealing with the IPSec correctly.
> What confuses me is that the inexpensive Linksys cable-modem router
> (BEFSR41) can handle this--they've recently released a BIOS update
> that touts "IPSec passthru now supported" which coworkers have used
> successfully.  I understand that there's been a Linux patch for this
> as well, and even the CoyoteLinux router supports this arrangement.

> Is there an equivalent patch for OpenBSD that allows ipnat to
> appropriately handle ESP (port 50) translation that's evidently needed
> for this to work?

> +----------+
> |Win2k box |         +----------------+   +-----------+

> |Nortel    |         +----------------+   +-----------+
> |Extranet  |
> |Client    |
> +----------+

> I've been scouring the 'net trying to find a fix to no avail.  I'm
> having religious difficutly thinking that there is something a Linksys
> BEFSR41 router ($160) can do that OpenBSD can't!

> Thank you in advance for any assistance or advice.

> Best Regards,
> Todd


 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by cind » Wed, 15 Nov 2000 04:00:00


Todd,
It's not the answer you're looking for, but I think the answer is
that you can't.

My understanding is that IPSec and NAT are not compatable.
Period. (I think Nortel has a router/firewall that will do this,
but I didn't want to go there.)

If you play around with the keywords you should be able to find
more specific info with a Deja search. I wasted more time on this
than I really care to say. If I'm wrong and there IS a reliable
way to do this with an OpenBSD firewall I would *really* like to
hear about it.

Cindy


> I'm still searching for an answer for OpenBSD's support or non-support
> for NAT on ESP-based IPSec.   The silence is eerie.  :-)  I've found
> happines in implementing a Linux-based firewall solution, however, I'd
> have much preferred to take advantage of OpenBSD's superior security.
> :-\

> The best explanations of the challenges and solutions to doing NAT
> with IPSec traffic is here in the Linux VPN how-to.  Especially
> germane to the Nortel client (which uses IPsec ESP) are sections 2.2,
> and 2.10 where it describes that kernel mods are necessary to support
> NAT on protocols other than tcp, udp, and icmp (such as ESP and GRE):

>    ftp://ftp.rubyriver.com/pub/jhardin/masquerade/VPN-howto/VPN-Masquera...

> Best Regards,
> Todd


> > Has anyone succesfully configured an OpenBSD NAT/firewall to allow an
> > IPSec-based VPN client on the LAN side to pass through NAT and connect
> > to the remote server successfully?

> > I'm attempting to use Nortel Extranet Acccess Client to connect to a
> > remote VPN server at my employer via cable modem--but I've been
> > unsuccessful thus far.  I'm not sure of the hardware on my employer's
> > end, but the client-side software is Nortel Extranet Access Client
> > (V02_62.33 Sep 8 2000).

> > All other NAT seems to work fine.  I've added "log" directives to all
> > my ipf rules and even disabled them all and find no indication that
> > the IPSec traffic is even being forwarded.  I've tried enabling ESP in
> > /etc/sysctrl.conf to no avail.

> > Based on a lot of net.digging of the ng's, it appears thus far that
> > OpenBSD's ipnat is not capable of dealing with the IPSec correctly.
> > What confuses me is that the inexpensive Linksys cable-modem router
> > (BEFSR41) can handle this--they've recently released a BIOS update
> > that touts "IPSec passthru now supported" which coworkers have used
> > successfully.  I understand that there's been a Linux patch for this
> > as well, and even the CoyoteLinux router supports this arrangement.

> > Is there an equivalent patch for OpenBSD that allows ipnat to
> > appropriately handle ESP (port 50) translation that's evidently needed
> > for this to work?

> > +----------+
> > |Win2k box |         +----------------+   +-----------+

> > |Nortel    |         +----------------+   +-----------+
> > |Extranet  |
> > |Client    |
> > +----------+

> > I've been scouring the 'net trying to find a fix to no avail.  I'm
> > having religious difficutly thinking that there is something a Linksys
> > BEFSR41 router ($160) can do that OpenBSD can't!

> > Thank you in advance for any assistance or advice.

> > Best Regards,
> > Todd

--
Sorry for the SPAM block -
My real address is Cindy at Ballreich dot net
 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by Todd » Wed, 15 Nov 2000 04:00:00



> Todd,
> It's not the answer you're looking for, but I think the answer is
> that you can't.

> My understanding is that IPSec and NAT are not compatable.
> Period. (I think Nortel has a router/firewall that will do this,
> but I didn't want to go there.)

That's not true based on my most recent findings.  It all depends on
which of the two IPSec protocols are in use, and whether the specific
implementation of NAT supports the required protocols (ESP and/or
GRE).

What I meant to say in my update is that I'm now tunneling Nortel's
ESP implementation of IPSec over a Linux implementation of NAT
(specifically, the coyotelinux.com router software that's based on a
Linux kernel).  It's working.  :-) OpenBSD 2.7's ipnat, however, was
not up to the task of tunneling Nortel Extranet's ESP IPSec traffic.

Linksys's BEFSR* routers also support what they call "IPSec pass-thru"
but I've not yet found out how/what exactly they do.  I have coworkers
that are successfully tunneling Nortel Extranet's ESP IPSec traffic
through their Linsys routers (provided they hvae the latest
firmware). I suppose their router's software does appropriate ESP
protocol translation with NAT.

Based on my experience, OpenBSD is not capable of passing any IPSec
traffic through its ipnat implementation of NAT--likely because it has
not been modified to translate protocols other than ICMP, tcp, or
udp.  I'm still looking for confirmation from an IPSec-savvy person in
the OpenBSD development community.

As to the "IPSec isn't compatible with NAT," that statement seems to
be true regarding products implementing AH protocol of IPSec--all due
to the checksumming done in the headers.  As I undersand it now, any
rewrite of destinations via NAT would "break" the
encryption/checksumming.  The link below explains it better than I
can.

Quote:> If you play around with the keywords you should be able to find
> more specific info with a Deja search. I wasted more time on this
> than I really care to say. If I'm wrong and there IS a reliable
> way to do this with an OpenBSD firewall I would *really* like to
> hear about it.

> Cindy

Indeed--I'm curious when OpenBSD's kernel will be enhanced to handle
ESP and GRE protocols for ipnat.

The link I provided in my followup posting (quoted below) is the best
link I found in my search.  If folks are interested in this topic,
read the two sections I mention--it's all of about 20 sentences, but
very lucid.


> > The best explanations of the challenges and solutions to doing NAT
> > with IPSec traffic is here in the Linux VPN how-to.  Especially
> > germane to the Nortel client (which uses IPsec ESP) are sections 2.2,
> > and 2.10 where it describes that kernel mods are necessary to support
> > NAT on protocols other than tcp, udp, and icmp (such as ESP and GRE):

> >    ftp://ftp.rubyriver.com/pub/jhardin/masquerade/VPN-howto/VPN-Masquera...

 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by cind » Wed, 15 Nov 2000 04:00:00


Ouch. I think you're right. It's been a while but I think that
the issue was actually with isakmp and not IPSec. The VPN used
isakmp for key exchange and that's what didn't work with NAT.

Sorry for jumping in like that.

Cindy



> > Todd,
> > It's not the answer you're looking for, but I think the answer is
> > that you can't.

> > My understanding is that IPSec and NAT are not compatable.
> > Period. (I think Nortel has a router/firewall that will do this,
> > but I didn't want to go there.)

> That's not true based on my most recent findings.  It all depends on
> which of the two IPSec protocols are in use, and whether the specific
> implementation of NAT supports the required protocols (ESP and/or
> GRE).

> What I meant to say in my update is that I'm now tunneling Nortel's
> ESP implementation of IPSec over a Linux implementation of NAT
> (specifically, the coyotelinux.com router software that's based on a
> Linux kernel).  It's working.  :-) OpenBSD 2.7's ipnat, however, was
> not up to the task of tunneling Nortel Extranet's ESP IPSec traffic.

> Linksys's BEFSR* routers also support what they call "IPSec pass-thru"
> but I've not yet found out how/what exactly they do.  I have coworkers
> that are successfully tunneling Nortel Extranet's ESP IPSec traffic
> through their Linsys routers (provided they hvae the latest
> firmware). I suppose their router's software does appropriate ESP
> protocol translation with NAT.

> Based on my experience, OpenBSD is not capable of passing any IPSec
> traffic through its ipnat implementation of NAT--likely because it has
> not been modified to translate protocols other than ICMP, tcp, or
> udp.  I'm still looking for confirmation from an IPSec-savvy person in
> the OpenBSD development community.

> As to the "IPSec isn't compatible with NAT," that statement seems to
> be true regarding products implementing AH protocol of IPSec--all due
> to the checksumming done in the headers.  As I undersand it now, any
> rewrite of destinations via NAT would "break" the
> encryption/checksumming.  The link below explains it better than I
> can.

> > If you play around with the keywords you should be able to find
> > more specific info with a Deja search. I wasted more time on this
> > than I really care to say. If I'm wrong and there IS a reliable
> > way to do this with an OpenBSD firewall I would *really* like to
> > hear about it.

> > Cindy

> Indeed--I'm curious when OpenBSD's kernel will be enhanced to handle
> ESP and GRE protocols for ipnat.

> The link I provided in my followup posting (quoted below) is the best
> link I found in my search.  If folks are interested in this topic,
> read the two sections I mention--it's all of about 20 sentences, but
> very lucid.


> > > The best explanations of the challenges and solutions to doing NAT
> > > with IPSec traffic is here in the Linux VPN how-to.  Especially
> > > germane to the Nortel client (which uses IPsec ESP) are sections 2.2,
> > > and 2.10 where it describes that kernel mods are necessary to support
> > > NAT on protocols other than tcp, udp, and icmp (such as ESP and GRE):

> > >    ftp://ftp.rubyriver.com/pub/jhardin/masquerade/VPN-howto/VPN-Masquera...

--
Sorry for the SPAM block -
My real address is Cindy at Ballreich dot net
 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by Brian Mille » Thu, 16 Nov 2000 14:27:18


Here's my $0.02's worth...

I have used the Nortel Contivity Extranet Switch and the
client software through NAT.  The IPsec connection was ESP.
The thing is the NAT was 1:1 mapping of addresses (done by
a Cisco router).  So you can NAT the ESP IPsec connection.

There is one thing to note here.  The NAT is 1:1.  That is
there is no magic N:1 NAT mapping using source/destination
IP addresses and ports to distinguish between NAT mappings.

Sorry, but I have no OpenBSD solution for you though.

Brian


> Todd,
> It's not the answer you're looking for, but I think the answer is
> that you can't.

> My understanding is that IPSec and NAT are not compatable.
> Period. (I think Nortel has a router/firewall that will do this,
> but I didn't want to go there.)

> If you play around with the keywords you should be able to find
> more specific info with a Deja search. I wasted more time on this
> than I really care to say. If I'm wrong and there IS a reliable
> way to do this with an OpenBSD firewall I would *really* like to
> hear about it.

> Cindy


> > I'm still searching for an answer for OpenBSD's support or non-support
> > for NAT on ESP-based IPSec.   The silence is eerie.  :-)  I've found
> > happines in implementing a Linux-based firewall solution, however, I'd
> > have much preferred to take advantage of OpenBSD's superior security.
> > :-\

> > The best explanations of the challenges and solutions to doing NAT
> > with IPSec traffic is here in the Linux VPN how-to.  Especially
> > germane to the Nortel client (which uses IPsec ESP) are sections 2.2,
> > and 2.10 where it describes that kernel mods are necessary to support
> > NAT on protocols other than tcp, udp, and icmp (such as ESP and GRE):

> >    ftp://ftp.rubyriver.com/pub/jhardin/masquerade/VPN-howto/VPN-Masquera...

> > Best Regards,
> > Todd


> > > Has anyone succesfully configured an OpenBSD NAT/firewall to allow an
> > > IPSec-based VPN client on the LAN side to pass through NAT and connect
> > > to the remote server successfully?

> > > I'm attempting to use Nortel Extranet Acccess Client to connect to a
> > > remote VPN server at my employer via cable modem--but I've been
> > > unsuccessful thus far.  I'm not sure of the hardware on my employer's
> > > end, but the client-side software is Nortel Extranet Access Client
> > > (V02_62.33 Sep 8 2000).

> > > All other NAT seems to work fine.  I've added "log" directives to all
> > > my ipf rules and even disabled them all and find no indication that
> > > the IPSec traffic is even being forwarded.  I've tried enabling ESP in
> > > /etc/sysctrl.conf to no avail.

> > > Based on a lot of net.digging of the ng's, it appears thus far that
> > > OpenBSD's ipnat is not capable of dealing with the IPSec correctly.
> > > What confuses me is that the inexpensive Linksys cable-modem router
> > > (BEFSR41) can handle this--they've recently released a BIOS update
> > > that touts "IPSec passthru now supported" which coworkers have used
> > > successfully.  I understand that there's been a Linux patch for this
> > > as well, and even the CoyoteLinux router supports this arrangement.

> > > Is there an equivalent patch for OpenBSD that allows ipnat to
> > > appropriately handle ESP (port 50) translation that's evidently needed
> > > for this to work?

> > > +----------+
> > > |Win2k box |         +----------------+   +-----------+

> > > |Nortel    |         +----------------+   +-----------+
> > > |Extranet  |
> > > |Client    |
> > > +----------+

> > > I've been scouring the 'net trying to find a fix to no avail.  I'm
> > > having religious difficutly thinking that there is something a Linksys
> > > BEFSR41 router ($160) can do that OpenBSD can't!

> > > Thank you in advance for any assistance or advice.

> > > Best Regards,
> > > Todd

> --
> Sorry for the SPAM block -
> My real address is Cindy at Ballreich dot net

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Brian Miller                                Telstra - Global IP Networks

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
 
 

Nortel Extranet VPN client (IPSec) through OpenBSD2.7 w/ ipf and ipnat ??

Post by Rickie Kern » Sat, 18 Nov 2000 13:39:15


Quote:>> > I'm attempting to use Nortel Extranet Acccess Client to connect to a
>> > remote VPN server at my employer via cable modem--but I've been
>> > unsuccessful thus far.  I'm not sure of the hardware on my employer's
>> > end, but the client-side software is Nortel Extranet Access Client
>> > (V02_62.33 Sep 8 2000).

I've been running Nortel Extranet Access Client from a laptop sitting
behind a OpenBSD 2.7 NAT-Firewall for some time to access my
employeer's network. This seems to me what you want to do. So it's
possible as long as you only want to run 1 VPN client through the
firewall and not run VPN on your OpenBSD box.

My ipfilter and ipnat configuration is:

first the VPN client (192.168.1.11) must not be port mapped by ipnat
so my first map rule in ipnat.rules is ...

map be0 192.168.1.11/32 -> 209.233.22.124/32

map rules with portmap to cover other hosts follow the above one. Also
port 500 is redirected to the client with ..

rdr be0 209.233.22.124/32 port 500 -> 192.168.1.11 port 500 udp

It seems that the VPN server checks up on the client periodically and
the connection goes dead unless port 500 is redirected.

Then finally since I run a deny by default with keep state for
ipfilter i've added the following ipf.rules ...

# VPN traffic rule set
#
# Allow redirected port 500 udp traffic to flow from xxx.xxx.66.53
only
pass in quick on be0 proto udp from xxx.xxx.66.53 to 192.168.1.11 port
= 500 keep state
block return-icmp(3) in log quick on be0 proto udp from any to any
port = 500
#
# Allow esp traffic to flow between xxx.xxx.66.53 and 192.168.1.11
#
pass in quick on be0 proto esp from xxx.xxx.66.53 to 192.168.1.11
pass out quick on be0 proto esp from 192.168.1.11 to xxx.xxx.66.53

Of course, replace ip address with those of your own. Notice i x out
my employeer's VPN server address. I'm not so sure of their security
but i'm confident of OpenBSD's.

To make life easier i also use dhcpd at home to assign 'fixed' ip
address to the laptop. No recofiguring network properties needed.

Maybe some day i'll figure out all the OpenBSD and Nortel VPN
configuration stuff so i can convince IT at work to link up my private
subnet at home. That would be nice but it's been a very steep learning
curve.

 
 
 

1. IP-Filter, NAT, IPSEC and Nortel Extranet Access Client question

Hi there,

I was wondering if anybody out there could give me some advice?

I've got Nortel Extranet Access Client installed on a Win2k machine that
sits on a private address behind a FreeBSD gateway/firewall.  I need to be
able to run this client through the firewall, and am having difficulty
getting a connection to the Nortel server.

I have IP-Filter 3.4.20, and have applied the patch (originally intended for
2.4.14 but still seems ok with 3.4.20) listed at
http://www.cs.ndsu.nodak.edu/~davlarso/ipf/, recompiled kernel and modules
with:

options         IPSEC
options         IPSEC_ESP
options         IPSEC_DEBUG

The topology of my network is as follows:
ed0 is configured with the outside IP address (1.2.3.4 in this example)
dc0 is the dummy address 10.0.0.1

The client is installed on machine 10.0.0.2.  The server I'm trying to
contact is at 5.6.7.8

Following the directions in the link above, I added the following entries to
/etc/ipnat.conf and ran ipnat with "-f /etc/ipnat.conf" as arguments:

map ed0 10.0.0.1/16 -> 0/32 proxy port 500 udp
rdr ed0 0/32 port 0   -> 10.0.0.2 port 0 esp

I'm getting a message returned that the server is simply not contactable.

Running tcpdump -i ed0 on the gateway, I get the following when attempting
to connect using the client:
23:01:07.957446 1.2.3.4.40004 > 5.6.7.8.isakmp: isakmp: phase 1 I agg: [|sa]
23:01:15.204103 1.2.3.4.40004 > 5.6.7.8.isakmp: isakmp: phase 1 I agg: [|sa]
23:01:23.213835 1.2.3.4.40004 > 5.6.7.8.isakmp: isakmp: phase 1 I agg: [|sa]
23:01:31.228269 1.2.3.4.40004 > 5.6.7.8.isakmp: isakmp: phase 1 I agg: [|sa]

There appears to be no response from the server; however I know that it is
up because I can connect to it from the outside of the firewall.  The Nortel
client simply says "Login Failure due to: Remote host not responding".  This
leads me to believe that the outgoing packets are not being translated
correctly, and the replies are being lost in the ether.

Can anybody help me with this, or point me in the direction of somebody who
can?

Thanks in advance!

Cheerio,
d

--

Dan Makovec
Fat Canary Software

Web - fatcanary.com.au/dan
NetMeeting - callto:dan.fatcanary.com.au
ICQ - 1308090

2. SLS installation help!!!

3. Connecting a Nortel VPN client through OpenBSD (2.9) to Nortel VPN Switch

4. Printing

5. Nortel - Contivity Linux client - VPN - IPSec

6. How do you activate XP if Microsoft's shut?, theINQUIRER.net

7. Access to Nortel Extranet VPN

8. deadline-ioscheduler rb-tree sort

9. VPN to Bay Networks/Nortel Extranet

10. Win 2K VPN client thru IPSEC Masq...

11. IP Masquerading with Bay Networks/Nortel Networks Extranet Client

12. Nortel 2600 VPN Switch and IPSEC