I have three different locations (A, B, C) and one rented VPS (D). I want to create a virtual network so that all locations can reach each other. I've read up on VPN not but I've never set it up. As I understand it, OpenVPN is the recommended tool to use. I plan to use routers (Asus RT-AC66U to be precise) that support OpenVPN, on the three locations that I have access to (the VPS is rented so I don't control that network).
My questions are:
How do I set this up? Do all routers act as servers and clients, or should I consider one of the locations the server, and the rest clients? I.e. do I need A->B, A->C, A->D, B->A, B->C (and so on..) or should I use one as server (A for example) and set it up as B->A, C->A, D->A.
I only want to route the "local" traffic via VPN - the internet traffic doesn't need to pass through any other locations, because I fear that it would slow things down. Is this possible? If yes, do I have to configure this in all clients?
Is Hamachi a viable alternative to my proposed solution, and would you consider it a better or worse solution?
And lastly I have a question that might be difficult to answer. The VPS that is rented is only accessible to me via a VPN (pptp) that the provider has provided me with. Will it still be possible for that server to join this virtual network via OpenVPN?
Update: I want this to be a set-and-forget solution that is always up. Each location has approx 10+ clients (Windows computers, printers etc.) that need to be reachable from all locations. The routers are DHCP providers.