You actually can do it all on one NIC, BUT I do NOT recommend it. Also, using a 386 is ok for home use, though I'd recommend at least a 486.

Here are some links you may find interesting if you're thinking about using Linux firewalls:
www.linuxrouter.org
www.linux-firewall-tools.com/linux
www.cencula.com/floppy.html

If you're looking for a quick firewall setup, I'd recommend you stay with a hardware based appliance, as they are usually quick and easy. NAT will usually help protect you, as far as incoming attacks, unless you use forwarding NAT or PAT to allow incoming packets. You should also be careful of outgoing filters to, or better yet, have personal firewalls on your workstations to help protect you against trojans (most appliances allow all outgoing packets for simplicity sake).

If you're interested in learning about Linux/Firewalls, Linux Iptables is the way to go (in my opinion, then again I still like old Ipchains *listens to the collective groans*). As far as DoS attacks, the best thing to do is not p!$$ off the wrong peeps, heh. Seriously, even with the best firewall (I like to use Watchguard when I don't use Linux Iptables firewalls), if your bandwidth gets chewed up, there aint to much to do for the average home user other than call your ISP. You might want to check out http://grc.com/dos/drdos.htm for some info on DoS attacks. Good luck to ya!