| Hey cool project! I had the same need, and solved it a very different way. I set up a wireguard server on a publicly accessible VPS. The neat part about using "lscr.io/linuxserver/wireguard:latest" is that it allows my to codify the number of clients I need. This includes both endpoints and source devices. The second thing I did, was separate out the "networking" bits from the "userspace" bits, meaning it doesn't matter what port the service is running on. The client can hit it. Taking that one step further, I just combined the above with haproxy and set my application ports there. This means I can hit haproxy on "someport" inside the VPN and it'll forward to whatever service I've got configured on that "client" that haproxy can see on it's LAN. Works great, currently running a simple web page off the whole thing, where you connect to VPS and it tunnels the actual HTTP connection into kubernetes in my house. I was thinking about writing this all up one day, but there's some cleanup to be done. Oh well. |
A mesh VPN will give you point to point tunnel. Even http will be secure.