I’ve made a few posts in the past about my experimentation with connecting various devices and servers over a VPN (hub and spoke configuration) as well as my struggles adapting my setup towards a mesh network.

I recently decided to give a mesh setup another go. My service of choice is Nebula. Very easy to grasp the system and get it up and running.

My newest hurdle is now enabling access to the nebula network at the same time as being connected to my VPN service. At least on iOS, you cannot utilize a mesh network and a VPN simultaneously.

TLDR: Is it a bad or a brilliant idea to connect my iOS device to a nebula mesh network to access for example my security camera server, as well as route all traffic/web requests through another nebula host that has a VPN such as mullvad on it so I can use my phone over a VPN connection while still having access to my mesh network servers?

    • brian@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 days ago

      tailscale also just has a button to buy/enable mullvad as an exit node. if you’re just looking for a commercial vpn for privacy it works well.

    • DesolateMood@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      5 days ago

      You need a VPN that can split tunnel by ip via CLI (although I think it’s also possible to set it up in an ovpn file, but I haven’t tried it). The only one I’ve found that can do this natively is proton, specifically the python community version.

      I don’t know how this next part works if you use something that isn’t tailscale, but if you do then just set proton’s split tunneling for 100.64.0.0/10

      Then, still on this machine, advertise the exit node from tailscale (you also have to allow it from your tailscale admin console). Connect to it from your phone, making sure to use the server as an exit node, and head over to ip.me to see if it’s working

      • undefined@links.hackliberty.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        I’ve done this with Tailscale and a VPS running WireGuard on one interface and Tailscale on another on Alpine Linux. I just set up routing so that any Internet traffic coming from tailscale0 is masqueraded/NAT over the wg0 interface. It took me months of screwing around to figure it all out, but I can provide all the necessary commands here if anyone wishes.

        It should be generic enough to use with any two interfaces given one is your “internal” VPN and another is some other VPN (probably from a commercial offering).