Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Sep 2008 15:38:02 +0200
From:      Max Laier <max@love2party.net>
To:        freebsd-net@freebsd.org
Cc:        Pawel Jakub Dawidek <pjd@freebsd.org>
Subject:   Re: Firewall redirect doesn't work any more...
Message-ID:  <200809191538.02698.max@love2party.net>
In-Reply-To: <20080919121602.GC4333@garage.freebsd.pl>
References:  <20080919075633.GA4333@garage.freebsd.pl> <20080919121602.GC4333@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 19 September 2008 14:16:02 Pawel Jakub Dawidek wrote:
> On Fri, Sep 19, 2008 at 09:56:33AM +0200, Pawel Jakub Dawidek wrote:
> > ...or am I missing something?
> >
> > I've a box running:
> >
> > FreeBSD whiplash.wheel.pl 7.0-STABLE FreeBSD 7.0-STABLE #0: Wed Jul 23
> > 11:41:31 CEST 2008 root@puppet.wheel.pl:/usr/obj/usr/src/sys/WHIPLASH 
> > i386
> >
> > I'm also running PF in there with the following rule:
> >
> > rdr on fxp0 proto tcp from 10.0.1.9 to 10.0.0.2 port 88 -> 10.0.5.123
> > port 88
> >
> > When I connect from 10.0.1.9 to 10.0.0.2:88 I can see redirected packet
> > leaving the box:
> >
> > IP 10.0.1.9.43210 > 10.0.0.2.88: S [...]
> > IP 10.0.1.9.43210 > 10.0.5.123.88: S [...]
> >
> > Ok. Now I've a box running:
> >
> > FreeBSD bridge.wheel.pl 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #1: Thu Sep
> > 11 13:59:06 CEST 2008 root@bridge.wheel.pl:/usr/obj/usr/src/sys/BRIDGE 
> > i386
> >
> > And the following PF rule:
> >
> > rdr on fxp0 proto tcp from 10.0.0.2 to 10.0.5.123 port 88 -> 10.0.1.9
> > port 88
> >
> > When I connect from 10.0.0.2 to 10.0.5.123:88 I no longer see redirected
> > packet leaving the box:
> >
> > IP 10.0.0.2.60806 > 10.0.5.123.88: S [...]
> >
> > I tried to redirect packet on the second box with IPFW, but also failed
> > (yes IPFIREWALL_FORWARD was compiled in).
> >
> > Does something got broken or am I missing some configuration hint?
>
> I downgraded to 7.0-RELEASE and the problem was still there, but I found
> a work-around - one needs to set net.inet.ip.forwarding to 1, even
> though packet is not forwarded between interfaces (everything is related
> to fxp0 only).

I might be wrong, but I don't think we ever supported rdr without 
net.inet.ip.forwarding enabled.  Maybe to a different local address, but even 
then you'd need net.inet.ip.check_interface=0.  Looking at the code, I don't 
see where IPFW forwarding fails (as it has its own ip_forward() call), though.

-- 
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809191538.02698.max>