DnsServer is a free, open source networking & connectivity project written in C# and released under GPL-3.0. It has 9,921 GitHub stars, 785 forks and 187 open issues, and was last pushed 7 days ago. On this registry it ranks #15 of 17 tracked projects in Networking & Connectivity, with 5 head-to-head comparisons available.

What is DnsServer?

Technitium DNS Server is an open-source, cross-platform authoritative and recursive DNS server written in C# under GPL-3.0, aimed at anyone who wants to self-host DNS resolution for privacy and security — a home network on a Raspberry Pi, or an organisation that needs encrypted DNS, network-wide block lists, and centralised management.

What it is

Technitium DNS Server lives in the .NET ecosystem: it is written in C# and listed with the dotnet topic, and it runs cross-platform on Windows, Linux, macOS, and Raspberry Pi, with a Docker image published as technitium/dns-server on Docker Hub. It operates as both an authoritative and a recursive DNS server, installs in about a minute, and works out of the box with no or minimal configuration. Administration is handled through a user-friendly web console reachable from any modern browser.

The concrete problem it solves is the operating system's default resolver path. Most software uses the OS resolver, which typically queries the configured ISP DNS server over plain UDP. That works, but the ISP can see and control which websites are visited even when those sites use HTTPS, and some ISPs redirect, block, or inject content into pages even when a different DNS provider such as Google DNS or Cloudflare DNS is configured. Running Technitium locally and pointing it at DNS-over-TLS, DNS-over-HTTPS, or DNS-over-QUIC forwarders mitigates those issues. A locally running server also gives visibility into network behaviour through DNS logs and statistics, faster page loads from cache hits, network-wide domain blocking, and a place to route DNS traffic over encrypted protocols. It replaces the ISP-provided or OS-configured resolver for the whole network, not just one machine.

Key capabilities

  • Self-hosts DNS-over-TLS (RFC 7858), DNS-over-HTTPS (RFC 8484), and DNS-over-QUIC (RFC 9250) DNS services on your own network.
  • The DNS-over-HTTPS implementation supports HTTP/1.1, HTTP/2, and HTTP/3 transport protocols.
  • Blocks ads and malware using one or more block list URLs.
  • Provides a built-in clustering feature that manages two or more DNS Server instances from a single admin web console.
  • Supports Single Sign-On (SSO) with OpenID Connect (OIDC).
  • Performs DNSSEC validation with RSA, ECDSA, and EdDSA algorithms for the recursive resolver, forwarders, and conditional forwarders, with NSEC and NSEC3 support, and includes DANE TLSA (RFC 6698) record type support with automatic hash generation.
  • Offers advanced caching with serve stale, prefetching, and auto prefetching, plus persistent caching that saves the cache to disk across restarts, and supports DNS over PROXY protocol version 1 and 2 for both UDP and TCP.

Who uses it and how

  • Home networks that run the server on Windows, Linux, macOS, or a Raspberry Pi to filter ads and malware for every device and send upstream queries over encrypted DNS.
  • Organisations that want insight into their own network through DNS logs and statistics rather than depending on an external resolver.
  • Multi-instance deployments that use the built-in clustering feature to manage two or more DNS Server instances from one console.
  • Teams with an existing identity provider that wire SSO in through OIDC rather than maintaining separate DNS console credentials.
  • Performance-sensitive operators: the async IO architecture was load tested on an Intel i7-8700 CPU serving more than 100,000 requests per second over Gigabit Ethernet.

Getting started

The quickest path is the Docker image technitium/dns-server on Docker Hub, or a native install on Windows, Linux, macOS, or Raspberry Pi. Both install in about a minute and run with zero configuration, after which the web console is available from any modern browser.

How it compares

The facts name no paid products that this project replaces, so the comparison is against the public resolvers it works with: Cloudflare, Google, Quad9, and AdGuard can all be used as upstream forwarders over DNS-over-TLS, DNS-over-HTTPS, or DNS-over-QUIC. Technitium does not replace those services as a public resolver — it sits in front of them, keeping the cache, logs, and block list policy on your own hardware. The choice is therefore about where resolution and policy live rather than which resolver answers.

When to use it — and when not to

This is infrastructure a self-hoster must operate and keep available, because every device on the network depends on it for name resolution. The repository still carries 187 open issues, and the README excerpt documents no backup, database, or mail requirements, so planning beyond the server process itself rests with the operator. It is also GPL-3.0, which matters if the intent is to embed it in a proprietary product, and anyone who cannot run an always-on host should use a managed resolver instead.

project readme (upstream, from github) — read inline

Technitium DNS Server
Technitium DNS Server


Self host a DNS server for privacy & security
Block ads & malware at DNS level for your entire network!

Technitium DNS Server

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.

Sponsored By

Altha Technology - Censorship Resistant Data Services

Bartell Hotels - San Diego's Unforgettable Locations Technology Investors and Integrators | WavSpeed Inc | Texas

Features

  • Works on Windows, Linux, macOS and Raspberry Pi.
  • Docker image available on Docker Hub.
  • 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).
  • Self host DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC DNS services on your network.
  • DNS-over-HTTPS implementation supports HTTP/1.1, HTTP/2, and HTTP/3 transport protocols.
  • Supports DNS over PROXY protocol version 1 and 2 for both UDP and TCP transports.
  • Use public DNS resolvers like Cloudflare, Google, Quad9, or AdGuard with DNS-over-TLS, DNS-over-HTTPS, or DNS-over-QUIC protocols as forwarders.
  • 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.
  • SVCB & HTTPS RFC 9460 record type support.
  • URI RFC 7553 record type support.
  • SSHFP RFC 4255 record type support.
  • CNAME cloaking feature to block domain names that resolve to CNAME which are blocked.
  • QNAME minimization support in recursive resolver RFC 9156.
  • QNAME case randomization support for UDP transport protocol draft-vixie-dnsext-dns0x20-00.
  • DNAME record RFC 6672 support.
  • 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.
  • Supports Catalog Zones RFC 9432.
  • Supports record aging where the records with expiry set are automatically removed from the zone.
  • Bulk conditional forwarding support using Advanced Forwarding DNS App.
  • DNSSEC signed zones support with RSA, ECDSA & EdDSA algorithms.
  • DNSSEC support for both NSEC and NSEC3.
  • Zone transfer with AXFR and IXFR RFC 1995 and DNS NOTIFY RFC 1996 support.
  • Zone transfer over TLS (XFR-over-TLS) RFC 9103 support.
  • Zone transfer over QUIC (XFR-over-QUIC) RFC 9250 support.
  • Support for zone validation using ZONEMD records RFC 8976 for Secondary zones.
  • Dynamic DNS Updates RFC 2136 support with security policy.
  • Secret key transaction authentication (TSIG) RFC 8945 support for zone transfers.
  • EDNS(0) RFC6891 support.
  • EDNS Client Subnet (ECS) RFC 7871 support for recursive resolution and forwarding.
  • Extended DNS Errors RFC 8914 support.
  • EDNS EXPIRE option RFC 7314 support.
  • DNS64 function RFC 6147 support for use by IPv6 only clients using the DNS64 App.
  • Support to host DNSBL / RBL block lists RFC 5782.
  • Multi-user role based access with non-expiring API token support.
  • Self host your domain names on your own DNS Server.
  • Wildcard sub domain support.
  • Enable/disable zones and records to allow testing with ease.
  • Built-in DNS Client with option to import responses to local zone.
  • Supports out-of-order DNS request processing for DNS-over-TCP and DNS-over-TLS protocols RFC 7766.

readme truncated — read the full docs on github

Frequently asked questions

Is DnsServer free to use?

DnsServer is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does DnsServer do?

Technitium DNS Server

What is DnsServer written in?

DnsServer is primarily written in C#. Its source is publicly available at https://github.com/TechnitiumSoftware/DnsServer, and it has 9,921 GitHub stars.