- VPN (openVPN)
- HTTP (apache)
- MAIL (postfix)
- CIFS (samba)
These services can be run on a single machine (virtual or not). If you build a multi core dedicated machine with lots of RAM, why not just run these services on it without virtualization? You will have the best performance - running separate vms eats extra memory, and slows down disk i/o because anyway each vm will have to access the same disks and if run separately, you will have more parallel i/o because of the multiple OSes. Just a thought.
back to the original idea:
Now it really depends on whats your target budget, but ideally you need a quad (not dual+hyperthreading!) CPU. This means Intel I5 or higher (i3s are duals with hyperthreading) or any AMD quad/hexa/octo core. Now these services dont need much CPU power normally (i have seen older dual-cpu single-core 2 GHz AMD servers coping without issues with the above services in a corporate environment) so any decent quad/quad+ AMD (A8/A10 on FM2 platform or fx-4xxx/6xxx/8xxx on Am3+ platform or any intel I5) would do it. Or a quad Xeon.
What you need is fast memory (ddr3 at least 1600Mhz, dual channel, at least 8 GB or more if you need vms) and fast hdds if you have high volume of traffic (samba), also mandatory gigabit network adapters + switches for the internal LAN.
P.S. I run OpenVPN on my home computer (used by a few clients and me if im away) and i dont even feel its there when i do stuff on the rig, also i have a vm for web development (i sometimes experiment with new stuff on my computer and i need a stable corner...) and it uses next to nothing CPU cycles (but i have little traffic on it, i do web development and some clients check the work in progress sometimes). What the vm visibly uses is memory. Anyway, i can do everything i need (work) and want(games) with these in background with no interference on a quad core AMD A8-5500 cpu and 4 GB RAM (although planning upgrade to 8 GB mainly to allow more video memory).