Self host a DNS server for privacy & security Block ads & malware at DNS level for your entire network!
Technitium DNS Server is an open source authoritative as well as recursive DNS server that can be used for self hosting a DNS server for privacy & security. It works out-of-the-box with no or minimal configuration and provides a user friendly web console accessible using any modern web browser.
Nobody really bothers about domain name resolution since it works automatically behind the scenes and is complex to understand. Most computer software use the operating system's DNS resolver that usually query the configured ISP's DNS server using UDP protocol. This way works well for most people but, your ISP can see and control what website you can visit even when the website employ HTTPS security. Not only that, some ISPs can redirect, block or inject content into websites you visit even when you use a different DNS provider like Google DNS or Cloudflare DNS. Having Technitium DNS Server configured to use DNS-over-TLS, DNS-over-HTTPS, or DNS-over-QUIC forwarders, these privacy & security issues can be mitigated very effectively.
Be it a home network or an organization's network, having a locally running DNS server gives you more insights into your network and helps to understand it better using the DNS logs and stats. It improves overall performance since most queries are served from the DNS cache making web sites load faster by not having to wait for frequent DNS resolutions. It also gives you an additional control over your network allowing you to block domain names network wide and also allows you to route your DNS traffic securely using encrypted DNS protocols.
Installs in just a minute and works out-of-the-box with zero configuration.
Block ads & malware using one or more block list URLs.
Supports working as an authoritative as well as a recursive DNS server.
Includes built-in Clustering feature to allow managing two or more DNS Server instances from a single admin web console.
Supports Single Sign-On (SSO) with OpenID Connect (OIDC).
High performance DNS server based on async IO that can serve millions of requests per minute even on a commodity desktop PC hardware (load tested on Intel i7-8700 CPU with more than 100,000 request/second over Gigabit Ethernet).
Support for latency based name server selection algorithm that works with concurrency feature for both recursive resolution and forwarders.
Advanced caching with features like serve stale, prefetching and auto prefetching.
Persistent caching feature that saves cache to disk when DNS Server restarts.
DNS rebinding attack protection feature available with DNS Rebinding Protection App.
DNSSEC validation support with RSA, ECDSA & EdDSA algorithms for recursive resolver, forwarders, and conditional forwarders with NSEC and NSEC3 support.
DNSSEC support for all supported DNS transport protocols including encrypted DNS protocols.
DANE TLSA RFC 6698 record type support. This includes support for automatically generating the hash values using certificates in PEM format.
ANAME proprietary record support to allow using CNAME like feature at zone apex (CNAME flattening). Supports multiple ANAME records at both zone apex and sub domains.
APP proprietary record support that allows custom DNS Apps to directly handle DNS requests and return a custom DNS response based on any business logic.
Support for features like Split Horizon and Geolocation based responses using DNS Apps feature.
Support for REGEX based block lists with different block lists for different client IP addresses or subnet using Advanced Blocking DNS App.
Primary, Secondary, Stub, and Conditional Forwarder zone support.
Static stub zone support implemented in Conditional Forwarder zone to force a domain name to resolve via given name servers using NS records.
Linux & Raspberry Pi: Follow install instructions from this blog post.
Cross-Platform: Download portable app to run on any platform that has .NET 10 installed.
Docker: Pull the official image from Docker Hub. Use the docker-compose.yml example to create a new container and edit it as required for your deployments. For more details and troubleshooting read the install instructions.
Technitium DNS Server supports environment variables to allow initializing the config when the DNS Server starts for the first time. Read the environment variable documentation for complete details.
The DNS Server HTTP API allows any 3rd party app or script to configure the DNS Server. The HTTP API is used by the web console and thus all the actions that the web console does can be performed via the API. Read the HTTP API documentation for complete details.