I always get into a muddle when I try to set up VPN connections but I'm going to have another go..
What I have is lots of Linux "devices" (typically ARM boxes running Debian) which will be plugged into networks giving them Internet access.
What I want to achieve is to have them auto-connect to a VPN, such that I am able to access all of them, but also that the end user can connect to their own devices but nobody elses. Ideally I'd also like other VPN capable devices, such as Draytek routers, to be able to join in the party.
My starting point - which may well be wrong, is to assume that I want a server running OpenVPN somewhere on t' Internet. (Is that the right place to start?) I find the OpenVPN documentation to be very detailed but hard to narrow it down to any particular usage case unless it's a standard config (eg "road warrier").
What I don't want at my end is to *have* to connect separately to each VPN. Doing so optionally would be good (but would be possible in the same way an extra device could), but it could be I end up with dozens or hundreds of separate segregated VPNs. Furthermore, it's likely that I will want all of the VPNs to have access to certain facilities (eg databases, FTP) on other servers without having to make the other servers join multiple VPNs.