You mention several problems, but your subject line is about dhcp. For the dhcp part, it's just a config file. On Redhat, you need the dhcpd RPM installed (careful, there's a dhcpcd rpm which is the client software, you need the server).
Edit the template /etc/dhcpd.conf to reflect your setup, start the service, and you are done.
In the file there are entries for the gateway, ip range, fixed IP's, etc, and the man page is actually very detailed.
For the firewall part, there are many good howto's and also several good posts around here. For the gateway, all you need to do is to enable ip forwarding. Several methods available, I use a file /etc/sysctl.conf where you change a forward entry from 0 to 1 (that takes effect after a reboot, or you can force it by sysctl -p).
Hope it helps,