'Stubby' is an application that acts as a local DNS Privacy stub resolver (using DNS-over-TLS). Stubby encrypts DNS queries sent from a client machine to a DNS Privacy resolver increasing end user privacy.
Stubby is in the early stages of development but is suitable for technical/advanced users. A more generally user-friendly version is on the way!
An unprotected setup without Stubby might look like this:
|dnsmasq on 53||→||unencrypted dns on 53|
A setup protected with Stubby will then look like this:
|dnsmasq on 53||→||stubby on 5453||→||encrypted dns on 853|
We'll basically be putting Stubby in between dnsmasq and the internet, leaving most things untouched so that dnsmasq will continue to work in OpenWrt.
opkg update && opkg install stubby
The config file is
/etc/stubby/stubby.yml and the default listening port is 5453 (IPv4 and IPv6 on localhost).
You can add
127.0.0.1#5453 to the list of DNS servers to forward requests to, so that requests will be forwarded to stubby.
To prevent local leaks or delays, make sure stubby is the only server that is being forwarded to, and block TCP and UDP output to port 53 in wan.
Make sure your router advertises itself as DNS server through DHCP so that clients will benefit from Stubby.
Note that this does not prevent clients in LAN to access unencrypted DNS directly (for example if they ignore the advertised router DNS through DHCP, because of a static DNS setting).
You might want to add
/etc/stubby/ to the list of config files that should be preserved on upgrade / backup!