NAT-PT - how to do it ?

Harald Welte laforge@gnumonks.org
Thu, 17 Jan 2002 21:47:10 +0100


On Thu, Jan 17, 2002 at 06:30:05PM +0100, Jens Fiedler wrote:
> Hi
> 
> First I'd like to say that I'm new to kernel/network programming, so I'm a 
> bit lost.

Don't worry :)

> What I'd like to do is to write a NAT-PT for linux. As far as I understand,
> netfilter is what I need to use for this. The NAT-PT shall work between IPv6
> and IPv4. My idea was to "steal" packets from the pre-routing hook, build new
> ones and "insert" them to the local_out hook. I know how to "steal" packest, 
> but not how to "insert" some. I think this is beyond DNAT or SNAT because of 
> the change of the PF and with this the change of both, source *and* 
> destination of a packet.

There's only one problem: Netfilter doesn't support re-injecting packets at
a hook.  You can easily steal the packet at one hook, but not reinject it
into the other.

> I've read in the netfilter hacking howto, but it does not seem to cover this
> topic. Is there more documentaion available ?

Unfortunately no.

> Any help is welcome 
> - cheers, JF

-- 
Live long and prosper
- Harald Welte / laforge@gnumonks.org               http://www.gnumonks.org/
============================================================================
GCS/E/IT d- s-: a-- C+++ UL++++$ P+++ L++++$ E--- W- N++ o? K- w--- O- M- 
V-- PS+ PE-- Y+ PGP++ t++ 5-- !X !R tv-- b+++ DI? !D G+ e* h+ r% y+(*)