A virtual private network or VPN is essentially a system of two or more private networks connected over a public telecommunications infrastructure such as the Internet. A VPN uses an encrypted tunnel and authentication protocol to securely transmit data between networks.
Even though the data is being sent over a publicly accessible network (Internet), all data is hidden from the public. One can make a secure and encrypted remote connection and work as if he/she were directly connected to the internal network.
A more detailed description from Wikipedia. Here’s also a step-by-step guide on how to set up a VPN from SearchExchange.
There are three ways to get VPN: 1) Do it yourself; 2) Use a VPN service provider; 3) Purchase a VPN appliance.
1) Both Linux and Windows provide tools to setup your own VPN server/client.
2) There are a number of VPN service providers available to make this a no brainer.
4) From basic SOHO models to robust enterprise models to SSL VPN. The VPN appliance field is really mature.
Depending on which VPN solution you pick from above and the size of your VPN deployment, the cost of setting one up varies.