I want to create a network where the main servers IP is never exposed to the client. By going throught tunnels.
Here is a sample: http://dl.dropbox.com/u/12304631/eliteots/mc/network.jpg
Problem
By making tunnels through dedicated servers I hope to solve latency issues from some clients that are far away from the main server.
But even if this does not succeed, I wish to hide my main server to avoid network attacks directly against it. So the main server only communicates with the tunnel hosts, which then communicates with the clients.
So by creating several tunnels I will be able to let customers easily access the main server by switching tunnel if their preferred tunnel is currently under attack. This is not my problem, should be easy to program, however the network configurations between tunnel and main server is the issue because of my lack of experience in this area.
Requirements
I am not talking about a simple http proxy, I want this to solution to operate on all ports. Or at least the configured ports. Only transmitting TCP.
I do not wish any encryption on the traffic between the vpn and main server, I think it should be as fast as possible.
I am working on an MMORPG, which is why I put so much effort into learning this. The worst thing that can happen to a customer is to be kicked from game server unable to login to finish their needs.
I only operate in an linux environment server-based. (Debian/Ubuntu).
Solution idea
I heard having an openVPN server might be what I need.
But I have problems operating it, I find it quite complex. First off, I want to know, is this even possible in OpenVPN? If so, how should I configure the network logics?
I am open to try out any free solutions you may find/recommend me!