personally I'd use a physical machine to do the firewall/DNS//DHCP/Proxy etc etc etc.
that's because it's going to be the most configurable and extensible option for you. and there are a lot of different systems out there that will let you do it, some ever for free.
as for NAS, again, these can be quite expensive, I'd go down the file server route for a small business, again because it's easy to set up, and going to be more configurable than most NAS solutions.