I'm not sure who was first, in terms of IOS NAT and ip_masq. If memory serves (and it usually doesn't) then 11.2 was released around Aug 97. I don't see any easy way to identify the release date. However, I think the linux code is older, although of course its largely based upon the BSD firewall code. The online source log shows 38 * Masquerading functionality 39 * 40 * Copyright (c) 1994 Pauline Middelink 41 * 42 * The pieces which added masquerading functionality are totally 43 * my responsibility and have nothing to with the original authors 44 * copyright or doing. 45 * 46 * Parts distributed under GPL. 47 * 48 * Fixes: 49 * Pauline Middelink : Added masquerading. 50 * Alan Cox : Fixed an error in the merge. 51 * Thomas Quinot : Fixed port spoofing. 52 * Alan Cox : Cleaned up retransmits in spoofing. 53 * Alan Cox : Cleaned up length setting. 54 * Wouter Gadeyne : Fixed masquerading support of ftp PORT commands 55 * 56 * Juan Jose Ciarlante : Masquerading code moved to ip_masq.c But Cisco was promoting NAT much earlier. They bought the old NTI hardware (now called the PIX), and its primary purpose in life was NAT -- the company was called Network Translations Inc. Looks like my first PIX install was 3 July 1996, so that predates IOS installations, I think. --woody On Sunday, September 09, 2001 6:22 AM, Circusnuts wrote:
Yep- NAT showed up in Cisco IOS in the 11.2 version. I am
[..]
----- Original Message ----- From: "Adam McKenna" <adam-nanog@flounder.net> Sent: Friday, September 07, 2001 3:31 AM Subject: Re: Where NAT disenfranchises the end-user ...
On Thu, Sep 06, 2001 at 10:29:21PM -0700, Roeland Meyer wrote:
ip_masq started out as a cheap way to cheat ISPs that
addrs to dial-up users (home users have no need for a LAN?), or wanted to charge an arm'n'leg for every IP addr. This irked the Linux community sufficiently that they wrote a "cure". Unfortunately, the
wouldn't allocate IP popularity of the
"cure" superceded the need.
Erm, sorry, but NAT was alive and well on Cisco routers long before it was in the Linux kernel.