From: Wolfgang Walter <walterw@wuerli.h3.stusta.mhn.de>
Newsgroups: comp.os.linux.networking
Subject: Re: Linux and NAT.
Date: Thu, 09 Oct 1997 01:38:56 +0200
Organization: [posted via] Leibniz-Rechenzentrum, Muenchen (Germany)
X-Mailer: Mozilla 4.03 [en] (X11; I; Linux 2.0.30 i586)
To: camilot@nutecnet.com.br

Camilo Telles wrote:
> 
> Sirs,
> 
> Is Linux supporting NAT?
> 
> If yes, where is the docs?
> 
> TIA
> 
> Camilo

There is a NAT implementation for 2.0.29, I think.

	http://www.csn.tu-chemnitz.de/HyperNews/get/linux-ip-nat.html

Though, as we use NAT here I wrote an own implementation of NAT 4 month
ago
for 2.0.30 from scratch and we use it here without any problems since.

Features:

	modular design, two hash-methods, others may be added as kernel-modules
	every interface may have its own table  
	handles even large NAT-tables efficiently (a pentium 120 may looks up
		700000 adresses / second)
	it translates tcp, udp and icmp-packets (incoming or/and outgoing)

The reasons I did not publish it are because

	documentation is missing
	some features I want to implement soon are missing, especially to
		translate ip-adresses inside of udp-protocols like talk
		(at least a clean interface so one can add it as modules)
	I may want to change some design details:
		if firewall-support is compiled in: before or after
		 	firewall-checks
		in the moment I use a device as interface to create, delete
			a table, to insert/delete/change entries in a table,
			and to read a table. Maybe a proc interface would be
			nicer.

Though, it just works fine and is pefectly stable in the current state, so if
you want a patch for 2.0.30, please send me an e-mail:

	wolfgang.walter@stusta.mhn.de

Wolfi

