Everything that you will use are just frontends to iptables. You can create the rules by hand, use a GUI, use scripting. I either make my own or use gShield depending on the completity.
Firestarter Is good GUI.
gShield is a good scripting method. I use this for setting up corporate networks that have complex NATing and need to be protected against DOS attacks.
If you try to setup iptables yourself. You should read the
iptables how-to.
Good luck if you need help let me know.
PS These are just some of the possable tools, but iptables is the solution.