I'm not sure how I missed it but today I learned about Tailscale Subnets.
I've long wanted to use my PC as a gateway to other networks. For example I have a PC on my LAN that I use to VPN to other networks. When working on my server, sometimes I want to send something to somewhere on the VPN'ed network but this isn't simple.
I first move the file to my PC. Then I copy the file from my PC to the network behind the VPN. It would be nice to have my PC route traffic to the VPN network automatically.
I thought about setting something up with nginx and WSL 2 but this seemed messy.
However, I use tailscale to connect my things. I realize that tailscale actually lets you have nodes advertise routes and you can accept routes from other tailscale nodes. This is exactly what I want.
The set up is quite simple. First you need to setup tailscale to advertise the routes:
sudo tailscale set --advertise-routes=192.0.2.0/24
Then you need to go the web admin console and approve the subnet.
Then on the other machines we need to accept the routes:
sudo tailscale set --accept-routes
After this I can do a ping from my server and hit the network that is behind my PC's VPN connection.
Easy and brilliant!