I would like to find a way to allow multiple computers to securely join a shared network. Ideally we would like to find a complete hosted solution, or run a server on Rackspace or Amazon EC2. I have attempted to install Openswan and xl2tpd on a server. It appears that I need to have an internal network that I can assign IP address from though. I don't have any cloud services that I need the clients to connect to, they only need to communicate with each other. In addition we will need to support Linux, iPhone, and Android clients. Does anyone have suggestions of hosting solutions, or on-line guides that would accomplish something similar to this?
As an added bonus it would be nice to have DNS resolution work between the connected clients.