Access device behind private IP? Ngrok / Beamerio /alternative thoughts.

Posting this here on r/selfhosted to hopefully get some feedback or thoughts. I recently picked up a LTE dongle to be able to connect to my lab in the event I break something network wise or the WAN goes down. It's behind Verizon's cell service so no public IP...so I am trying to think how I can securely access it, I know TeamViewer can do it, but TeamViewer doesn't have a good track record since the breaches. Logmein is no longer free so that's out of the question, so I found ngrok and beamerio.

Ideally I'd like to use my own domain name, and use RDP to access the device on the other side.

Does anyone have any thoughts, feelings, input, feedback about these options? Or any guides on achieving what I am after?

Posted Jan 29, 2018, 1:39 PM UTC

411
Aloisamae•

Try out zero-tier. Solved that problem for me without the complexity of OpenVPN. It creates a "virtual" switch across your infrastructure without compromising security since you have total control over authorization. It also spans LAN and WAN, literally borderless. I like it, to say the least.

2
tenchoooo•

Have a look at localtunnel: https://github.com/localtunnel/localtunnel It's like ngrok but you can selfhost your own. Actually you can also selfhost ngrok, but the version 1, and not the version 2 which is the one they're running as a service.

1
Pixel6692•

Instance with VPN in one of cloud/VPS providers? You can go with the cheapest ones for this, IIRC google even has some free tier which should be enough.

1
PhantomWareOP•

I was considering that as well, my only worry would be keeping the connection open, or figuring out a way to make the connection turn on via LTE when WAN is down.

1
Pixel6692•

I don't fully understand your concern, but if you don't want to have running VPN between homelab and instance all the time, you can start the instance only when necessary, homelab would try in some periodic try to connect to it (if you setup it as system service etc.)

1
PhantomWareOP•

That's what I was trying to figure out, if I manually start the connection and maybe it stays open for 30+ days, but if on day 45 the connection gets interrupted and doesn't reconnect then I loose WAN connectivity I'm unable to connect.

1
Pixel6692•

If you go this way, I would recommend to run both ends as system service (pretty easy and well documented for systemd but I guess for other init systems too)

1
lancepioch•

You can use ngrok with your own custom domain: https://ngrok.com/docs#custom-domains

Unless you were thinking of something else.

1
PhantomWareOP•

I was thinking this too, was just hoping to self host something in AWS which a client or 2 then connect to and wait for a request or similar.

1
POFusr•

SSH port forwarding. Your remote site would have a persistent connection to your SSH server (server = an intermediary with SSH accessible), then, with your machine in the lab, connect to the intermediary on the same port that you forwarded from your remote site, regardless of the protocol.

1
jeremyrem•

reverse shell proxy vpn ssh forwarding

1