Does anyone know of a software system I can set up so that I can connect to my desktop machine that is behind a NAT firewall from outside of its network? This desktop machine I would like to connect to does not have an outside IP address; although it does have internet access through a NAT firewall machine that I cannot administer. I have a linux box outside the network that I could make a connection to from that machine and open some sort of ssh port tunnel, etc. if this would help. My goal is to be able to connect to the desktop machine inside the network by connecting to this linux server from outside the network and have it forward the connection to the desktop that is inside the network, after beforehand making sure the machine has opened a connection to the linux server.
I don't know if it is completely clear so let me see if I can draw it out...
OUTSIDE OF NETWORK | INSIDE OF NETWORK
/---------\ /-------\ /--|---\ /---------\
| ROAMING |-----------| LINUX |----| NAT |---| DESKTOP |
\---------/ \-------/ \--|---/ \---------/
1. Connect desktop machine to linux server in a "waiting" mode which runs indefinitely
2. Connect roaming machine to linux server as needed for normal use
3. Linux server forwards packets from roaming machine to desktop machine through connection in step 1
A solution such as www.gotomypc.com
is not acceptable for this question, as I know a free soultion should exist or can be developed because I have my own server... I just need to know what software to use and how to set it up.