Technitium DNS Server

Get a personal local DNS Server for privacy & security

Block Ads at DNS level!

Version 3.3 (beta)

Windows (Setup)
(.NET Framework v4.6.1)
Windows (Standalone)
(.NET Framework v4.6.1)
Windows / Linux / macOS / Raspberry Pi
(.NET Core 2.2)
Open Source
Source code available under GNU GPLv3 Licence on  GitHub
File Details
NameDnsServerSetup.zip
FormatZIP File
Size2.75 MB
SHA2562948A1F5290C40D9948E1BF76F7D1235CB06FE5E8E42DDB01D9B14C736DE67BF
NameDnsServerPortable.zip
FormatZIP File
Size2.54 MB
SHA256A7F3D269D0C0CFB174E3F5FDFCF916E9EFB422B443F9B4D282BCDFA2DD9EB720
NameDnsServerPortable.tar.gz
FormatGZiped TAR Archive
Size1.18 MB
SHA2564E5D39202C49CE77BD0C0915AD539C22A618E3609971E009E70EC9F924CEAAC5
Technitium DNS Server

Technitium DNS Server is an open source tool that can be used for self hosting a local DNS server for privacy & security or, used for experimentation/testing by software developers on their computer. It works out-of-the-box with no or minimal configuration and provides a user friendly web console accessible using any 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 or DNS-over-HTTPS forwarders, these privacy & security issues can be mitigated very effectively.

Developers regularly use the hosts file for configuring an IP address for a domain under testing. However, using the hosts file is cumbersome at times and can only be used to resolve domain name to an IP address. With a fully configurable DNS server running on your local machine, you can configure not just simple A records (for IP address) but, also configure other types of records like CNAME or MX etc. This allow you to have more control and power when you want to do testing that simulates the exact configuration that you have running on production.

Applications of using a locally hosted DNS server is limited only by the user's imagination!

Block Ads At DNS Level

Technitium DNS Server allows you to configure Block List URLs that gets automatically updated daily to block ads on your network. The Quick Add option lists popular block lists available for you to choose from.

Read More: Blocking Internet Ads Using DNS Sinkhole

Technitium DNS Server Ad Block List Configuration
Technitium DNS Server Block List Configuration

Privacy & Security

Technitium DNS Server supports using DNS-over-TLS and DNS-over-HTTPS protocols for forwarders allowing you to use popular public DNS resolvers like Cloudflare, Google & Quad9. These protocols provides privacy by encrypting your DNS traffic on the network and protects you from man-in-the-middle attacks.

Read More: How To Configure DNS Server For Privacy & Security

Technitium DNS Server Forwarder Configuration For DNS-over-HTTPS Protocol
Technitium DNS Server Forwarder Configuration

Features

  • Works on Windows, Linux, macOS and Raspberry Pi.
  • Installs in just a minute and works out-of-the-box with zero configuration.
  • Block Ads using one or more block list URLs.
  • Run DNS-over-TLS and DNS-over-HTTPS DNS service on your network.
  • Use public DNS resolvers like Cloudflare, Google & Quad9 with DNS-over-TLS and DNS-over-HTTPS protocols as forwarders.
  • Advance caching with features like serve stale, prefetching and auto prefetching.
  • Supports working as an authoritative as well as a recursive DNS server.
  • Host 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.
  • IPv6 support in DNS server core.
  • HTTP & SOCKS5 proxy support which can be configured to route DNS over Tor Network or use Cloudflare's hidden DNS resolver.
  • Web console portal for easy configuration using any web browser.
  • Built-in system logging and query logging.
  • Open source cross-platform .NET Core implementation hosted on  GitHub.

How To Get Started

  1. Download and install the DNS server Windows service setup. You can use the portable zip/tar.gz file too by extracting and run the DNS Server app.
  2. Open http://localhost:5380/ on your favourite web browser.
  3. The web console will auto login using default username 'admin' and password 'admin'. Don't forget to change the password to disable auto login!
  4. Add one or more domain names as zones and configure recource records for them. Or, use the DNS Client and quickly import records into local DNS zone!
  5. Use nslookup command or built-in DNS Client to query the server to test it.
  6. If, you are going to use the hosted zones for testing, make sure you set TTL to a lower value like 10 seconds so that the response gets flushed quickly and you can shift quickly between staging & production zones by using the disable/enable zone feature. Use ipconfig /flushdns command on Windows to flush system DNS cache if needed. Note that web browsers do cache DNS responses for a minimum of 60 seconds irrespective of TTL value.
  7. Optionally, add forwarder DNS server IP addresses or URLs in DNS Settings so that the DNS Server uses them to resolve requests instead of root servers to improve response time. You may configure any public DNS server like Google DNS, Cloudflare DNS or OpenDNS.
  8. Configure DNS server IP address in the network configuration allowing the DNS server to be used by the system and other applications. You need to configure DNS server IP address for both IPv4 & IPv6 on the network connection. Try using loopback address '127.0.0.1' for IPv4 and '::1' for IPv6 and check if it works. If, for some reasons, the loopback address does not work, try using the local network IP address instead.
  9. If needed, configure your system firewall to allow inbound traffic to UDP & TCP port 53 so that, other computers or devices on the network can access this DNS Server.
  10. ???
  11. Profit!

Help Topics

Read the latest help topics which contains the DNS Server user manual and covers frequently asked questions.

Support

For more info, send an email to support@technitium.com. Any feedback or feature requests are welcome.