Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jul 2015 15:39:39 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        freebsd-ipfw@freebsd.org
Subject:   Re: keep-state and in-kernel NAT exposes local ip on external interface
Message-ID:  <55B8833B.3030205@freebsd.org>
In-Reply-To: <55B7DB52.7010504@FreeBSD.org>
References:  <1435692039.18121.12.camel@yahoo.com> <5594395D.6050103@FreeBSD.org> <20150728150845.V17327@sola.nimnet.asn.au> <55B7DB52.7010504@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 7/29/15 3:43 AM, Lev Serebryakov wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> On 28.07.2015 08:30, Ian Smith wrote:
>
>   I have global lack of any spare time (and all my FreeBSD activity is
> only a hobby) for last ~2 months. I see the end of this unfortunate
> state of affairs in near future and I remember about these examples.
>
>>
there are some simple examples of things this patch addresses..
For example in the current code, the following (extemely simplified) 
set of
rules will not do what you would think when you are working with a tcp
session from A to B and another from C to D *which has previously been**
**accepted with a keep-state at some other point in the ruleset*


10 {any action} from A to B keep-state
20 {any action} tcp from C to D

because despite the fact that you are only triggering on a 'setup' 
packet for A to B, any rule
that includes "keep-state" does a "check-state" implicitly.
so the packet  from C to D never gets past rule 10.
the only way you can do this is to prefix rule 10 by something like

5 skipto 10 from A to B
6 skipto  11 from any to any

to make sure packets that are not A to B  do not hit the hidden 
'check-state' .

this is  a very simple example and yes there are ways to get around it,
but it complicates the ruleset and increases errors

that reminds me I'd also like to be able to put a "not" at the
front of the rule matching to negate the whole test but it doesn't 
seem to like that.







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