First of all, you have to draw the picture and decide, what and from what you want to protect. For example, you want to give access to the "DMZ server". That's OK. But if the "DMZ-Server" is compromised, you don't want intruder to give access to your internal resources. So, that's the point of creating DMZ instead of putting the "Public Server" inside your LAN.
Many "commercial-grade" firewall have three or more interfaces, which allow to create DMZ networks. You create separate sets of rules, for example, Outside->DMZ, DMZ->Outside, DMZ->Inside, Inside->DMZ, etc. This will define granular access between these networks.
You can make the same things with "SOHO-grade" firewalls. Just connect WAN interface to your WAN, a DMZ-server and WAN interface of second firewall to a LAN ports, and your PCs to a LAN ports on the second firewall. You may either configure the DHCP on your first firewall to give a different IP addresses, or configure your DMZ with static IP addresses.
Then, at first firewall, you configure whtever access you need to give to your DMZ-Server. Usually "LAN->WAN" access on these firewalls is transparent, and you don't need to do anything. That's how your users will be accessing the Internet.
Good luck,
Michael Shavrov
CCNP, CCDP, CCSP, Security+, MCSE W2K, Solaris, etc.
http://www.ciscoheadsetadapter.com