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…
Works flawlessly!
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:
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.