Creating a "local" VPN Network

Posted on Aug 7, 2025

Now that I have a point-to-point Wireguard connection between my desktop and my VPS, I want to create a small network of devices that can communicate with each other over the VPN. This will look like a “local” network, but it is actually a virtual network overlaid on the internet and my home network.

With such a network I should be able to, for example, connect to my home desktop from my laptop when I am away from home (without needing to open ports on my home router).

I am aiming to create a spoke-and-hub network where the VPS is the hub and my home devices are the spokes. Something like this:

  flowchart LR;
  subgraph home
    A[Desktop<br>10.20.10.2]
    B[NAS<br>10.20.10.3]
  end

  subgraph roaming
    C[Laptop<br>10.20.10.4]
  end

  V[Wireguard Server<br>10.20.10.1]
  V <---> |tunneled| A
  V <---> |tunneled| B
  V <---> |tunneled| C

  subgraph internet
    I[...<br>0.0.0.0/32]
  end

  internet <---> |untunneled| V

Client & Server Configuration

Local DNS

DoH for Remote Hosts