I recently found IPFilter useful. PF took using online documentation along with
The Book of PF for me to set up. Maybe a week of learning. While, I may have gotten the configuration correct, I worried about dropped packets when using the stateful setting for some rules.
I use a canned configuration of FreeBSD's IPFW, allowing some rules through, all through
rc.conf. You can find canned settings through
/etc/rc.firewall. The settings to bypass specific rules are also described in that file. I've use a canned IPFW firewall with PF in the past, and will continue to use it in conjunction with another firewall.
IPF is convenient, for when I need an immediate block of a port, and I don't want to relearn PF, when I lost my old file. I view IPF as an extension of IPFW, even if the rules operate in different sequential orders.
PF is good, though, it has a structure involving different parts to it, or multiple sections which must all be understood. With IPF, I find the instructions for rule I need, and insert it.
Oddly, when I run
kldstat
, IPFilter being enabled shows up as
ipl.ko
, which
ipl(4) is for packet logging.
I wrote a lot of this elsewhere, though, this is a thread about IPF, so I wrote about why I came around to it. I tried to learn about BSD firewalls through a book named
BSD Toolbox, which I believe got information about IPF incorrect, that names may have been mislabeled. This may have caused confusion and frustration to me. Otherwise, aside from being Bash centric, great book.
The 3 firewalls themselves are very light: maybe 4MB total for all of them combined.