This article is a mirror article of machine translation, please click here to jump to the original article.

View: 1492|Reply: 0

[Source] .NET/C# Open Source DNS Service Built by Technitium DNS Server

[Copy link]
Posted on 2025-2-24 19:43:24 | | | |
The Domain Name System (DNS) is the internet's phone book. People access information online through domain names. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names into IP addresses so that browsers can load internet resources.

There are many open source DNS: Bind, PowerDNS, CoreDNS, DNSPod-SR, Dnsmasq, Atomia DNS, etc.

Review:

DNS-over-HTTPS and DNS-over-TLS for domain name resolution
https://www.itsvse.com/thread-10652-1-1.html

Practical Operation: Using Docker to Build DNS Service (dnsmasq)
https://www.itsvse.com/thread-10321-1-1.html

Teach you how to set up your own DNS server!
https://www.itsvse.com/thread-4638-1-1.html

.net/c# implements DNS hijacking source code
https://www.itsvse.com/thread-4229-1-1.html

Technitium DNS Server

Self-hosted DNS servers for privacy and security, blocking ads and malware across the network at the DNS level! Technitium DNS Server is an open-source authoritative DNS server and a recursive DNS server that can be used to self-host DNS servers to protect privacy and security. It works out of the box with no or minimal configuration and offers a user-friendly web console that can be accessed using any modern web browser.

Official Website:The hyperlink login is visible.
Source:The hyperlink login is visible.

Why Technitium DNS? First he developed it in C#, then C# itself can be deployed across platforms, and Technitium DNS Server also supports plugin mode, that is, you can develop plugin functions yourself. There are many ways to install it, as shown below:



First, let's take a look at the renderings after construction, as follows:



This article is built with docker compose, and the compose.yml file is as follows:


Environment variable:The hyperlink login is visible.

The startup command is as follows:


After successful launch, you can pass through ithttp://ip:5380/Access the console. For some reasons, you need to log in to the console to modify some default configurations before it can be used normally.

Turn off DNSSEC validation: settings -> general ->Enable DNSSEC Validation is unchecked-> save settings。



Other configurations have been set through environment variables, as shown in the following figure:



Forwarder Concurrency is set according to your situation, and the recommended is equal to the number of DNS, which is set to 3 here.

Then set the preferred DNS of your computer or router to the IP of the deployment server. (omitted)

Custom domain name resolution

Test the new domain name in the Zones tab of the dashboard, as shown in the following image:



Fill in the domain name, and then add an A record, as shown in the image below:



The test is as follows:



Introduction to types

numberingtypedescriptionuseApplicable scenarios
1Primary ZoneThis is the default option to configure this server as the primary DNS server.Customize and maintain data across DNS zones to provide authoritative DNS responses.Create a new DNS zone, and all records are edited and managed on this server.
2Secondary ZoneThese zones copy data from another primary DNS server (also known as a secondary DNS server).For high availability and load balancing, data is synchronized from the primary zone at regular intervals.Serve as a redundant backup for the primary DNS server or replicate records from the primary server.
3Stub ZoneStore only NS records and associated Glue Records (IPs of name servers) for other DNS zones.Authoritative servers for quickly finding specific regions instead of storing data for entire regions.Optimize recursive query paths in large environments.
4Conditional Forwarder ZoneForwards DNS queries for some specific domain names to a designated DNS server.Customize DNS resolution paths to handle domain names across organizations or networks.Dedicated resolution in cross-domain environments.
5Secondary Conditional Forwarder ZoneSimilar to Conditional Forwarder, but exists in a secondary manner, synchronizing from another DNS server.Add redundant synchronization mechanisms on top of domain-specific conditional forwarding.Larger environments need to be forwarded and maintain high availability.
6Catalog ZoneMetainformation for dynamically managing and distributing a set of DNS zones.Automate the management of DNS data across multiple regions.Automation is required to manage multiple subdomains or a large number of subdomain environments.
7Secondary Catalog ZoneA slave version of the Catalog Zone to synchronize and cache meta information.Copy the data in the Catalog Zone from another DNS server.Dynamically update the catalog in a large-scale distributed environment.
8Secondary ROOT Zone (RFC 8806)Configure the server to synchronize and cache data in the root zone.Improve recursive DNS query speed and avoid querying the root server directly.Large DNS service providers or network environments with high performance requirements.


(End)




Previous:AMD YES! ROCm and HIP SDK are briefly introduced
Next:Personal Home IP-KVM Open Source Project and Device Summary
Disclaimer:
All software, programming materials or articles published by Code Farmer Network are only for learning and research purposes; The above content shall not be used for commercial or illegal purposes, otherwise, users shall bear all consequences. The information on this site comes from the Internet, and copyright disputes have nothing to do with this site. You must completely delete the above content from your computer within 24 hours of downloading. If you like the program, please support genuine software, purchase registration, and get better genuine services. If there is any infringement, please contact us by email.

Mail To:help@itsvse.com