I need to connect two computers that are physically far away, so I can use mine to access the other one remotely via Internet. The setup is used mainly as a remote security system; the remote computer has a camera connected and the client computer is able to access the camera in this way.
I can't just create a VPN, because the remote computer is behind a NAT to which I have no access at all - no port redirections are possible.
I have been using so far Hamachi or Wippien; both do exactly what I need: the computers search each other by means of a "nickname", and a VPN is established between them.
Hamachi uses it's own service to register the users; Wippien does it using the Jabber network.
Now I am trying to do this but using Linux.
Although there are Linux versions of both programs, they just don't work well. Hamachi is very outdated, and Wippien is a small one-person operation and he hasn't had the chance to work on a proper Linux version.
So I am looking for possible alternatives here.
The requirements are:
- The computers should have the possibility to find each other via "nicknames" or "users", registered on the Internet.
- The software needs to be able to bypass the NAT.
- The software needs to be able to run as a service; this is required because in the remote computer there should be no user interaction with the software. (This rules out options like LogMeIn or Teamviewer)
So far, the alternatives I have found (like OpenVPN or ThightVNC) require port forwarding.
And I wouldn't like to go back to Windows!

Can anyone suggest ideas?
PS: I am putting this in the General section and not in Software because it may mean installing from outside the repos. That's ok, it's a test system and I'm willing to experiment with it.