[4428] in linux-net channel archive
Re: user-level packet forwarding
daemon@ATHENA.MIT.EDU (Jos Vos)
Mon Sep 16 08:01:24 1996
From: Jos Vos <jos@xos.nl>
To: arup@ccrl.nj.nec.com (Arup Acharya)
Date: Mon, 16 Sep 1996 12:38:40 +0200 (MET DST)
Cc: linux-net@vger.rutgers.edu
In-Reply-To: <9609152212.AA10219@sun066> from "Arup Acharya" at Sep 15, 96 06:12:55 pm
> Could someone please point me to available programs that
> attempt to do the following:
>
> Any (unicast IP) packets sent by (any) host X addressed
> to a destination on the outside world, is given to a
> USER-level program on R (instead of being transparently
> "copied" from one interface to another within the
> kernel at R)
>
> [host X]-----net a---: ["router" R] : ---outside world---
The kernel-level part of this is available in Linux 2.0.x when
you define CONFIG_IP_TRANSPARENT_PROXY. It has to be configured
using ipfwadm (version 2.3.0), using the -r (redirect) flag.
The user-level program can do a getsockname to get the target
address that was originally specified by the client site.
With this, you can adapt existing proxy servers relatively easy
(we have tested it during the development phase with some
beta-version of Apache 1.1).
It works for TCP and UDP.
--
-- Jos Vos <jos@xos.nl>
-- X/OS Experts in Open Systems BV | Phone: +31 20 6938364
-- Amsterdam, The Netherlands | Fax: +31 20 6948204