I have a place called (lets say) REMOTE. REMOTE is connected to the Internet using 3G/4G Modem + Router. Unfortunately my mobile Internet provider does not give me public IP address. In REMOTE I have a few devices I want to access from HOME. Not all of them are personal computers (there is a print server, video recorder etc), so I'm not able to install software on all of them. I have at least one computer that can be used as a gateway.

I also have a server running linux with public IP and quite fast internet connection.

At HOME I've got the same situation as in REMOTE.

I want to be able to somehow access devices in REMOTE from HOME. How can I do that?


if you do have a public server there is a number of ways to achieve what you want.

  1. easiest solution is to use SSH tunnels. But you need to have a one time access from REMOTE to setup the tunnel. using the command:

    ssh you@your-public-server.org -N -o TCPKeepAlive -R 12321:ip-of-remote:22

    then everytime you connect from HOME to your-public-server.org at port 12321 you'll actually be presented with a login from the linux gateway you have at REMOTE.

    Through the later ssh connection (between HOME and REMOTE) you can forward anything using ssh -L flag. to name a few the webpage of your print server, grab a remote desktop session etc.

  2. as a more permanent solution you could consider a VPN solution, where the vpn server would still be set up in your public server and REMOTE (and perhaps HOME, too) would connect to. Then all vpn clients can be thought of as part of a common intranet where they can talk to each other directly.


I read there's no chance for public IP on any side (REMOTE and HOME), is that right? If so, go buy a cheap VPS (~ 4-5 USD/month), 128 MB RAM should be enough. Make sure VPS operator allows VPN connections. Then setup OpenVPN on VPS (server role) and in your locations (clients).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.