I need to create a VPN through 3 geographical remote offices. I can buy 3 enterprise router with vpn support, or maybe i can create a VPN tunneling using 3 virtual server with (for instance) openvpn installed, and all my company's pc client setted with default gateway to my virtual server (so i can recycle some router i've in house).
My questions are
Can i do this using virtual server without buying apposite hardware ?
If the first question is affermative, Is there some drawbacks using 'only' software vpn ?
Thanks
Pretty much everything the hardware routers can do, a properly configured computer can do. Software like pfSense will configure a firewall with VPN abilities quite easily for both site to site and road warrior users.
Using a regular computer has the advantage of not being locked into a particular vendor or type of device. You can choose which software you want to use for a VPN, or even have multiple types - I often use a combination of OpenVPN, SSH tunnels and an HTTP proxy, for remote access to my company network, depending on what I'm doing and where.
One advantage the hardware routers SOMETIMES have is an encryption accelerator - which a PCI(e) or miniPCI(e) card which does all the encryption - this is much faster than doing it in software, and allows them to have significantly higher throughputs and handle more users. Not all of them include this feature, and depending on the WAN connections you have it might not make any difference anyways. But if you are looking to connect between two sites with say 100Mbit fibre, hardware acceleration will help. You can also buy some of these cards and add them to your own solution.
The other advantage they have is support - someone to call when it breaks or you can't figure out how to configure something. And someone to rush over with a brand new unit when it dies.
Many of the enterprise VPN units are underneath it all just running linux and openvpn with a shiny UI to it. That does make it easier to configure. But it also makes it difficult or impossible to adjust anything the vendor doesn't think you'll need to.
None of these are the "wrong" way to do it. You can do this with dedicated network hardware. You can do this with general-purpose servers. They could be physical or virtual. The things you need to account for are:
Network equipment can be higher for item 1, but lower for 2 & 3. If you don't do a lot of virtualization, items 2 & 3 might be high - and if the link goes down because of something you did, remote management is going to be tough. It's pretty easy to stick a call-in modem on a Cisco for true out-of-band management if you screw up a config statement and lock yourself out, or the ISP is making changes that you have to match. That's a little tougher for a VMware guest.
A number of articles out there that will answer your question
Taken from the last link