As I've only used these specific cards I don't know much about what else is worthwhile, but whatever high quality card can be found from 3Com or Intel should work well, where as low quality cards such as from Real Tek will suffice but could be problematic so should be avoided.3Com 3C905B-TX and 3C905C-TX cards are known to not work together.Being a firewall appliance, pf Sense can be many different things.This guide covers setting up pf Sense to be a firewall with one or more LAN / intranet interfaces, and a single WAN / Internet interface.This is likely to be useful if the BIOS doesn't allow you to alter IRQ assignments. Free BSD treats Hyperthreading as multiple CPUs, so if you want to use it you need to use the SMP kernel."There is a point of diminishing returns since PF (the packet filter we use) is under the Giant lock in Free BSD.
For the network cards I use PCI 3Com 3C905B and 3C905C as they're of high quality and can be found cheap.There certainly is a performance boost going past one CPU (not linearly scaled to the number of cores however), not sure if you'll see it with Hyper Threading or not though - the Free BSD SMP scheduler isn't exactly optimized for HTT." I've also read that though there is some performance gain with Hyperthreading, it's only slight.Unless the extra resoures are required, I would disable Hyperthreading so that the firewall consumes less power. Different versions of pf Sense are based on different versions of Free BSD.Preferred (works for up to at least 30 users): Pentium 4 era PC, 512MB RAM, 20GB hard disk (less if you're not using Squid).Use a computer with which you can press the power button on the front briefly and the operating system automatically cleanly shut the machine down, not one that cuts the machine's power.