dnscrypt-proxy

dnscrypt-proxy is a DNS proxy that implements the DNSCrypt and DNS-over-HTTPS (doh) protocols.

A copy of the this document is available online

Installation

Note:

  1. This package is incompatible with the DNS Server package from Synology!
Installer interface of dnscrypt-proxy

Configuration

User interface of dnscrypt-proxy
  1. Generate Blacklist: will fetch provided lists and update the var/blacklist.txt file using the generate-domains-blacklist.py script
  2. Save: Saves the file to disk. You need to manually restart dnscrypt-proxy to apply changes.

For more detailed information I suggest you visit the dnscrypt-proxy wiki.

Optional: Individual device configuration

Cloudflare has some good instructions on how to change your DNS settings to point to a custom DNS server. Instead of 1.1.1.1 you need to use your Synology's IP address. e.g. 192.168.1.1

Optional: Network configuration via DHCP

This option allows Network wide encrypted DNS (unless a user overrides their own DNS settings. see above)

If dnscrypt-proxy is installed on a Synology Router open Network Center > Local Network and under 'DHCP server' change the Primary DNS to the Gateway IP address e.g. 192.168.1.1 and leave the Secondary DNS blank.

If dnscrypt-proxy is installed on a Synology NAS and the NAS is not running a DHCP server you need to change your Routers settings and find the DNS settings. Change the Primary DNS to the IP address of your NAS.

If dnscrypt-proxy is installed on a Synology NAS and the NAS is also running a DHCP server

  1. Open Control Panel > DHCP Server > Network Interface.
  2. Select a network interface (e.g. LAN 1) to assign IP addresses to, and click Edit
  3. Change the Primary DNS to the the IP address of your NAS, should also be the IP of the Gateway

Test that everything is working correctly

To see which servers are resolving your queries you can visit dnsleaktest.com

If you prefer the command line you can use dig whoami.akamai.net, drill resolver.dnscrypt.org or nslookup whoami.ultradns.net to find out which resolver is currently in use. Using the output the SERVER should be the IP address of the device running dnscrypt-proxy. The IP address in the ANSWER SECTION should be your preferred DNS resolver. Note that on anycast networks like 1.1.1.1 or 8.8.8.8 the IPs will differ and can checked by the ASN.

Also see the dnscrypt-proxy wiki on this topic: Checking that your DNS traffic is encrypted and authenticated

If the DNS servers selected support DNSSEC you can test it here.