sudo apt install dnscrypt-proxy
sudo systemctl enable dnscrypt-proxy (or system service dnscrypt-proxy start|enable)
sudo mv /etc/resolv.conf ~/resolv.conf.bak
sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf
nameserver 127.0.0.1
#back up to dns over plaintext not recomennded if your dnscrypt-proxy service stops for whatever reason (enable in systemd, too lazy to write here)
#nameserver 1.1.1.1
sudo chattr +i /etc/resolv.conf
Always use DoH / DoT (DNS over HTTPS / TLS)
in firefox, settings -> DNS in search select Max protection choose NexDNS, make a NexDNS account for further privacy/setting up your local DNS restrictions like ad/tracker blocks
or use cloudflare.
Cheap VPS proxy:
on a VPS, do said dnscrypt-proxy
ssh -D 8080 -i ~/.ssh/sshkey username@vps.server (always use SSH key auth, no passwords)
in firefox, set up proxy 127.0.0.1 8080 select 'Use DNS through proxy' - can set proxy settings at OS level to use DNS.
There's some options for you. Tailscale works, haven't tried it though.