So everyone is talking about cloudflare tunnels and I decided to give it a shot.
However, I find the learning curve quite hard and would really appreciate a short introduction into how they work and how do I set them up…
In my current infrastructure I am running a reverse proxy with SSL and Authentik, but nothing is exposed outside. I access my network via a VPN but would like to try out and consider CF. Might be easier for the family.
How does authentication work? Is it really a secure way to expose internal services?
I used one to reach my qbittorrent selfhost. I found a cool docker image. It bundles a openVPN connection with qbittorrent so that I don't need my home server to be on a VPN at all times. As well as ensures traffic always goes through VPN. I was running into an issue where I could not reach from my home network. But when I used a cloudflare tunnel it somehow worked. This was all until I realized there was an environment variable of LAN I needed to set which allowed connections from my home network 😮💨
I would definitely recommend this setup for any torrenting. I've been using it for years with zero IP leaks. Believe me, Spectrum would let me know. They did before I had setup.
EDIT: just realized the guy deleted the docker image for that based on a false positive (that's been a false positive for a year). I reuploaded their same image to my docker account. Still works without any leak, not sure why they took such a drastic measure.
What I'm doing is using a dedicated VPN Gateway container. The instances running delicate services have a static default route to the GW-container.
This is an extra step, but allows me add easily route other services or clients or even whole networks through my VPN without additional setup or specialized containers bundling both.
Wanna use it on the phone? Change the gateway address. Wanna use it from my Linux machine? Add a static default route. Etc...
That sounds better since it doesn't have any kind of bundling of images. Do you have a link to anything public I can look at to try out a similar setup?
Unfortunately not at the moment, as all is kinda fiddled and setup manually, but I’m redoing my home lab in a couple of weeks. Send me a message and I’ll send you the docker image or script!
But basically I did the following:
enable ipv4 forwarding
configure and start VPN tunnel
set the default route to the tunnel
set the gw for reaching the remote vpn server to the local gw
sets routes for the local network to the local gw
If your vpn goes down, the default route shall still point to the remote gw, but as it isn’t there you also have a kill switch. Voila!
I am looking into gluetun but haven’t tried it yet.
Edit: this doesn’t protect you from someone snooping the traffic inside your local net, but protects it starting from the point where it leaves the local vpngw. The traffic is unencrypted between that and your client.