How can I use a VPN while having a smooth experience with self-hosted services?

Hello everyone.
So, I have a homelab self-hosting from, Adguard Home, to my own Git instance. A lot of things I do depend on these services.

I was considering using something like Mullvad VPN to transfer the trust away from my ISP, as I have a very untrustworthy ISP. So my question is how can I use something like Mullvad along with my current homelab setup where all my services are accessible from my own Wireguard VPN? I know this would mean I would have to give up some self-hosted services but overall I am fine with that.

Thanks in advance!

1 Like

I am not exactly sure of what you are doing. But if I am guessing correctly. . .

At least some of the prosumer routers can be set up to be both a VPN server and VPN client. I think you could have such a router allow you to access your home based servers and then have everything from your house (and from your remote device(s) that VPN into your house) use a VPN to access the world. It would mean a double hop through VPNs for your remote device(s) to access the Internet.

2 Likes

Split tunneling is one option. And allowing local network sharing is another option.

Did you not try this?

1 Like

Oh! I re-read your question.

I recommend using Tailscale then. Otherwise, there is no way I see it given the nature of a VPN (encrypted internet tunnel and all…)

2 Likes

Something I have tried to do on OpenWRT (with varying success…) is to use Policy Based Routing, as what the @OldGuy has recommended:

  • Device → Home VPN → If LAN → Direct to LAN
  • Device → Home VPN → If not LAN (WAN) → Direct to Wireguard Client (Mullvad VPN) → WAN

In this configuration, you connect to your home VPN. If you access WAN, it will re-route to Mullvad. If its LAN, it will direct to what you were trying to do. This does introduce additional latency, and instead of directly going to Mullvad, you go to your Home Router first, which may alter your threat model.

Otherwise, Tailscale is the way to go if you don’t want to mess with this.