So I have some services and wireguard running locally on a “home” network. I also have wireguard, a DNS resolver, and a reverse proxy set up on a remote server. Since I don’t want to expose the home IP to the public, to access my services I connect to the VPN on the remote, which then forwards my request home. But this means that when I’m at home, connecting to my local services requires going out to the remote. Is there some way to have the traffic go over the switch when at home, but go over wireguard when away, without having to manually switch the VPN on/off?

I could move the DNS resolver (which handles the internal names for the services) from the remote to the home server. But then similarly every DNS request will need to go through both the remote and home servers, doubling the hops. I’d like to use my own DNS server at all times though, both at and away from home. Which tradeoff seems better?

edit: thanks for all the suggestions, I’ll look into some of these solutions and see what works best

  • pedroapero@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    6 hours ago

    There are Wireguard clients that connect based on wifi / mobile status. On f-droid WG Tunnel, WG Auto Connect, or Rethink should do.

    • mrh@mander.xyzOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      6 hours ago

      Right but I want to be connected to wireguard always, I just want the DNS/routing to be different based on home vs foreign network.

      • non_burglar@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 hours ago

        WG Tunnel. It does exactly this.

        When I leave my WiFi, tunnel turns on. When I rejoin my WiFi, tunnel turns off.