author Posted by Tunnelr, 2015-07-27

While our service does not allow you to bind forwarded ports on the public IP's (ie. nyc.tunnelr.com:12345), it is possible to achieve (roughly) the same result by creating a long-running remote port forward and then separately create a local port forward to expose the remotely port forwarded port. Doesn't make sense? Read on!



Let's roll with an example:

Say you are running a Plex server on your local desktop (port 32400) and would really like to access it from the office, but there may be a few problems:

1. Your home workstation is behind a firewall
2. Your home workstation is behind a dynamic IP
3. Your workplace blocks all non-standard ports

What do you do?

Remote port forwarding to the rescue! With our service, you can do the following:

On the machine you wish to expose your Plex service:

$ ssh -R 21929:localhost:32400 username@nyc.tunnelr.com -N

Once that is connected, it will bind 21929 on 127.0.0.1 on nyc.tunnelr.com and forwarding it to the Plex machine (localhost:32400). 

This now enables you to create a local port forward which exposes a port on the nyc.tunnelr.com node as a local port by doing this (from another machine):

$ ssh -L 32400:localhost:21929 username@nyc.tunnelr.com -N

This would bind localhost:32400 on your other workstation to nyc.tunnelr.com localhost:21929.

You should now be able to open your browser, type http://localhost:32400/ and directly access your Plex server's web interface.

We hope this sheds some light on the topic and helps you out on your port forwarding adventures. If anything, do not hesitate to open a ticket.