架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 661|回复: 0

[资料] .NET/C# 开源 DNS 服务 Technitium DNS Server 搭建

[复制链接]
发表于 2025-2-24 19:43:24 | 显示全部楼层 |阅读模式
域名系统 (DNS) 是互联网的电话簿。人们通过域名在线访问信息。Web 浏览器通过 互联网协议 (IP) 地址进行交互。DNS 将域名转换为 IP 地址,以便浏览器能够加载互联网资源。

开源的dns有很多:Bind、PowerDNS、CoreDNS、DNSPod-SR、Dnsmasq、Atomia DNS 等。

回顾:

域名解析之 DNS-over-HTTPS 和 DNS-over-TLS
https://www.itsvse.com/thread-10652-1-1.html

【实战】使用 Docker 搭建 DNS 服务(dnsmasq)
https://www.itsvse.com/thread-10321-1-1.html

教你搭建自己的DNS服务器!
https://www.itsvse.com/thread-4638-1-1.html

.net/c# 实现dns劫持源代码
https://www.itsvse.com/thread-4229-1-1.html

Technitium DNS Server

自行托管 DNS 服务器以确保隐私和安全,在 DNS 级别阻止整个网络的广告和恶意软件!Technitium DNS 服务器是一款开源权威 DNS 服务器,也是一款递归 DNS 服务器,可用于自托管 DNS 服务器,以保护隐私和安全。它开箱即用,无需配置或只需极少配置,并提供一个用户友好的 Web 控制台,可使用任何现代 Web 浏览器访问。

官网:超链接登录可见。
源码:超链接登录可见。

为什么选择 Technitium DNS?首先他是 C# 开发的,然后 C# 本身就可以跨平台部署,Technitium DNS Server 也支持插件模式,也就是自己可以开发插件功能。安装方式有很多,如下图:

QQ截图20250224185258.jpg

首先,看下搭建后的效果图,如下:

QQ截图20250224184616.jpg QQ截图20250224184719.jpg

本文是用 docker compose 搭建,compose.yml 文件如下:


环境变量:超链接登录可见。

启动命令如下:


启动成功后,可以通过 http://ip:5380/ 访问控制台。由于某些原因,需要登录控制台修改一些默认配置,才能够正常使用。

关闭 DNSSEC 验证:settings -> general -> Enable DNSSEC Validation 取消勾选 -> save settings。

QQ截图20250224185859.jpg

其他的配置已经通过环境变量进行设置了,如下图:

QQ截图20250224185916.jpg QQ截图20250224185938.jpg

Forwarder Concurrency 根据自己情况进行设置,建议等于 DNS 数量,这里设置成 3。

然后将电脑或者路由器的首选 DNS 设置为部署服务器的 IP。(略)

自定义域名解析

在控制面板 Zones 选项卡新建域名进行测试,如下图:

QQ截图20250224193646.jpg

填写域名,然后添加一个 A 记录,如下图:

QQ截图20250224193718.jpg QQ截图20250224193744.jpg

测试如下:

QQ截图20250224194145.jpg

关于类型的介绍

编号类型描述用途适用场景
1Primary Zone这是默认选项,用于配置该服务器作为主 DNS 服务器。自定义并维护整个 DNS 区域数据,提供权威 DNS 响应。新建一个 DNS 区域,所有记录都在此服务器上编辑和管理。
2Secondary Zone这类区域会从另一个主 DNS 服务器中复制数据(也称为从属 DNS 服务器)。用于高可用和负载均衡,定期从 Primary Zone 同步数据。做为主 DNS 服务器的冗余备份或从主服务器复制记录。
3Stub Zone仅存储其他 DNS 区域的 NS 记录和相关 Glue Record(名称服务器的 IP)。用于快速查找特定区域的权威服务器,而不用存储整个区域的数据。大型环境中优化递归查询路径。
4Conditional Forwarder Zone将某些特定域名的 DNS 查询转发到指定的 DNS 服务器。定制 DNS 解析路径,用于处理跨组织或跨网络的域名。跨域环境中的专用解析。
5Secondary Conditional Forwarder Zone类似 Conditional Forwarder,但以 Secondary 方式存在,会从另一个 DNS 服务器中同步。在特定域的条件转发基础上添加冗余同步机制。较大的环境中需要转发并保持高可用性。
6Catalog Zone用于动态管理和分发一组 DNS 区域的元信息。自动化管理多个区域的 DNS 数据。需要管理多个子域或大量子域环境的自动化。
7Secondary Catalog ZoneCatalog Zone 的从属版本,用于同步并缓存元信息。从另一个 DNS 服务器复制 Catalog Zone 的数据。大规模分布式环境中动态更新 Catalog。
8Secondary ROOT Zone (RFC 8806)配置该服务器同步和缓存根区域的数据。提高递归 DNS 查询速度,避免直接查询根服务器。大型 DNS 服务商或有高性能需求的网络环境。


(完)




上一篇:AMD YES!ROCm、HIP SDK 简单介绍
下一篇:个人家用 IP-KVM 开源项目和设备汇总
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-15 17:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表