Tailscale is amazing. It takes the complexity of networking and VPN away and makes it so that beginners such as me do not have a hard time to set it up and configure their networks.
I have installed Tailscale on my PIs and on the Apple TVs of my parents so I can use them as exit nodes so we can continue to share the same netflix account: Since my traffic goes through the apple tv I will be in the same “household”.
If you want to block ads there are 2 popular options: PiHole and AdGuard. Tailscale has a nice blog about how to setup PiHole for your whole network but this will force all devices to use the PiHole when they use the tailscale VPN. I want this to be “opt in” via an exit node. So only if I choose the exit node on which AdGuard/PiHole runs I want to be block ads.
This was easier than expected. Essentially just install AdGuard or PiHole as normal. We then just need to update the DNS resolver of the PI to be using AdGuard/PiHole. For AdGuard I grabbed the Pis tailscale IP and then I ran:
# Get connection name, for me it was called `preconfigured` cause I set it in the PI installer.
sudo nmcli connection show
sudo nmcli connection modify "preconfigured" ipv4.dns "<IP-OF-YOUR-PI-GRAB-FROM-TAILSCALE-ADMIN>"
sudo nmcli connection modify "preconfigured" ipv4.ignore-auto-dns yes
sudo nmcli connection up "preconfigured"and now when you use your PI as exit node your traffic will be filtered!