Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use a mixture of linux and windows machines at my office. I've got logmein running on my windows machines, and VNC setup on the linux ones. The linux logmein browser plugin works great. However, I'm confused as to why there are no services like logmein or gotomypc for linux where you just install the program and you're good to go because there's no port forwarding to setup in your router. Is this because those services use port 80 to handle their communications which would be open? Is there a need to setup servers to handle the redirection so it wouldn't be cost-effective to create an open source RDP client/server suite that didn't require port forwarding?

share|improve this question
up vote 6 down vote accepted

Apps like TeamViewer are [Client--Server--Client]: they depend on using a server external to both parties' local networks. Each end is a client and initiates its own connection to the external server. Firewalls and NAT routers generally pass outgoing connections quite freely, and NAT enables the replies (coming from the external server) to reach the right internal nodes (PCs).

True [Client--Server] services require the server to have a routable address. A PC providing a service from behind a NAT router doesn't have a routable address, only the router nearest the internet has one. So an incoming connections for a given IP and port# has to be routed to the specific local-network node (PC) known your router to serve that particular port -- i.e., Port Forwarded.

share|improve this answer
+1 for the gritty details... :) – shady Mar 26 '10 at 3:42
@JRobert Is this server running a specific software, or it's just a Web server (running PHP and MySQL), that passes ip's and available ports to both clients? – FlashDark Feb 6 '13 at 2:57
@FlashDark: In the case of Team Viewer, it's their own physical server, and I have to assume, their custom software services to handle logging me (a helper) in and letting my "clients" (helpees) know that I'm online and authenticating each of us when we try to set up a connection, etc., billing services to professional users, etc. – JRobert Feb 6 '13 at 21:23
@JRobert Great, that makes my position even worse :) Anyway, thanks for the answer. – FlashDark Feb 8 '13 at 6:53
@FlashDark, what is your use-case? My first thought is Jabber is FOSS; it connects two clients who may be behind firewall / NAT routers. I don't know whether the clients then talk directly or continue through ejabberd, but you might find some useful information in that direction. Also, see what a search on peer-peer server connection returns. – JRobert Feb 8 '13 at 17:59

You bet!

Indeed, most of the "plug and play" apps (if you will) have a negotiation server in between you and the other machine which help connect you together via an ephemeral port. TeamViewer is a good example. It has native builds for Windows and Mac, and will run under Wine on Linux.

share|improve this answer
I can't get Wine to work out of the box. It always fails to install the .net framework (but that's another thread!) Thanks for the quick reply. – shady Mar 26 '10 at 3:43

I would be surprised if such software for Linux didn't already exist. Have looked for that functionality for Linux outside of Logmein and gotomypc? If very little does exist my guess would be for security concerns.

Is there a reason why you couldn't use SSH? I would recommend using it for security reasons and getting that port to be opened by security people isn't hard to do once security mechanisms are in place.

share|improve this answer
Thank for you suggesting SSH. I ended up going with that on my linux machines for now. Thanks for the reply. – shady Mar 26 '10 at 3:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .