Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Sep 2000 14:27:46 -0500 (CDT)
From:      missnglnk <missnglnk@sneakerz.org>
To:        freebsd-ipfw@freebsd.org
Subject:   Issues with ipfw(8)'s dynamic rules
Message-ID:  <Pine.BSF.4.21.0009041335360.34920-100000@sneakerz.org>

next in thread | raw e-mail | index | archive | help
I found some undesirable side effects with ipfw's dynamic
rules as I was toying with it today.

a) Expired Dynamic Rules Aren't Really Expired
   I noticed that once a dynamic rule expires (hitting its respective
   timeout value), it's not removed from the dynamic table (unless
   the dynamic table is full), so the connection is still allowed to
   continue instead of being dropped, the only indications that an
   expired connection is still in use is the "invalid state" messages
   that are sent to the console, and the combined analyzation of
   ipfw(8) and netstat(1) output.

   My Solution: Remove expired UDP and ICMP dynamic rules from the
                table, and for expired TCP connections send an RST
                to both sides of the connection, and then remove
                expired TCP dynamic rules from the table.

b) Premature Rule Expiration
   TCP connections will expire prematurely if the connection has been
   idle longer than the dynamic state ACK lifetime, but shorter than
   the TCP keepalive interval.  This would result in "Connection reset
   by peer" messages, but since the first issue is still present, it
   only results in "invalid state" messages being sent to the console

   My Solution: By default, set the dynamic state ACK lifetime to the
                TCP keepalive interval, warn user if he/she sets the
                dynamic state ACK lifetime to a value less than the
                TCP keepalive interval.

P.S. My solutions are only suggested solutions.
--
missnglnk@sneakerz.org
http://www.sneakerz.org/~missnglnk/



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ipfw" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009041335360.34920-100000>