[54797] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: Merits of purpose-built (appliance) vs. FreeBSD+ipfw firewalls

daemon@ATHENA.MIT.EDU (David G. Andersen)
Fri Jan 17 00:32:19 2003

Date: Fri, 17 Jan 2003 00:29:21 -0500
From: "David G. Andersen" <dga@lcs.mit.edu>
To: Josh Brooks <user@mail.econolodgetulsa.com>
Cc: nanog@merit.edu
Mail-Followup-To: "David G. Andersen" <dga@lcs.mit.edu>,
	Josh Brooks <user@mail.econolodgetulsa.com>, nanog@merit.edu
In-Reply-To: <20030116142026.H38599-100000@mail.econolodgetulsa.com>
Errors-To: owner-nanog-outgoing@merit.edu


On Thu, Jan 16, 2003 at 03:17:44PM -0800, Josh Brooks mooed:
> 
> Currently, I run a FreeBSD firewall running ipfw (500 mhz celeron, 256
> mags ram).  This machine does nothing - runs no services but ssh, and
> simply sits at my network border doing packet filtering.  I have a lot of
> hosts (four /24s - about 500 active IPs) behind this firewall, and
> 
> The problem I am running into is simply that my firewall CPU chokes.  It
> is not because the traffic is high - the line does not become saturdated,
> and sometimes total traffic can be less than 5 megabits/s - BUT the
> packets/s count goes way up (sometimes by a factor of 50) and because all

  a)  Shorten your rules. :-)
  b)  Have you tried ipfw2, or upgraded to 5.0-DR3?
      (ipfw2 has some known bugs in 4.7-release, but I think it's
      happy in stable.  test, though)
  c)  Have you tried using polling mode for your ethernet device drivers?
      (options DEVICE_POLLLING, options HZ=1000)
      Can improve forwarding performance under heavy load/small packets,
      e.g. a DoS attack

        
> So my questions are as follows:
> 
> 1. Am I wasting my time trying to make my FreeBSD+ipfw firewall more
> resilient and sophisticated ?  Again, I have probably only scratched the
> surface, but let's say I emerge from my office 12 months from now having
> memorized the ipfw source code and having learned _everything_ there is to
> learn about this problem - will I simply conclude that FreeBSD+ipfw is not
> good enough and I just need to go get an appliance ?

  Not for 12Kpps.  For some really sick rate, you might have to
go with an (expensive!) appliance.  But for what you're seeing, it should
be quite feasible to handle with a host.

  Other questions to check on:  What ethernet device are you using?
If it's not de or fxp, you're shooting yourself in the foot.

  -Dave

-- 
work: dga@lcs.mit.edu                          me:  dga@pobox.com
      MIT Laboratory for Computer Science           http://www.angio.net/
      I do not accept unsolicited commercial email.  Do not spam me.

home help back first fref pref prev next nref lref last post