You can make a simple MSN control (which users can login), web authentication gateway (Horatio based), load balance (iproute2), traffic shape (QoS), simple packet filter and NAT redirects (DNAT), loadbalance and VPN gateway or roadwarrior and ...
shell program to automatically configure freebsd as a firewall
This shell program automatically configures FreeBSD 9.1 and above as a firewall with only 2 answers from the user. The main goals of this program are minimal user input, ease of use and sensible security defaults.
It's written for the sh shell included in FreeBSD by default.