few things to mentions.
1. never put your file server on the same physical hardware as your firewall. have a true dedicated FIREWALL, not a hodgpodge, that is how things go very wrong very fast.
2. look into IPCop and or IPFire. IPCop is a bit old, but still very very reliable. IPFire is a newer reworked version of IPCop plus it will handle IPv6 were IPCop will not.
3. Print server again should NEVER be on the same physical hardware as your firewall. keep the firewall a firewall and nothing else. Your firewall should perform the following tasks:
a. a firewall to protect from intrusion
b. provide basic router functionality such as NAT, port forwarding, etc...
c. provide specific services such as local DNS, DDNS hosting.
and not much else.
For your file server and print server put them on a separate box that is NOT your firewall, that is unless you just want people to crack into 1 box and own everything in your network that is. if that is the case, then by all means keep all of those services on a single point of entry.