technitium-一个基于.NET7的开源DNS服务 DnsServer 的部署使用经验分享
今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server。

项目介绍
Technitium DNS Server是一个开源的权威和递归DNS服务器,可以用于自主托管DNS服务器以提升隐私和安全性。它可以直接使用或者只需要进行最小配置,并且提供了一个用户友好的Web控制台,可以在任何现代Web浏览器中访问。Technitium DNS Server是一款跨平台的DNS服务器软件,可以在多个操作系统上运行。目前,Technitium DNS Server支持以下操作系统:
- Windows:包括Windows 10、Windows 8/8.1、Windows 7、Windows Server等。
- Linux:支持各种Linux发行版,如Ubuntu、Debian、CentOS、Fedora等。
- macOS:可以在macOS上安装和运行。
什么是DNS(Domain Name System)?
DNS是域名系统(Domain Name System)的缩写。它是一种用于将域名转换为对应IP地址的分布式命名系统。在互联网上,每个设备都需要一个唯一的IP地址以进行通信。然而,人们更容易记住和使用易于理解的域名(如https://www.cnblogs.com/Can-daydayup),而不是记住一长串数字(如192.0.2.1)。这就是DNS的作用:将域名映射到相应的IP地址。DNS工作原理如下:
- 当你在浏览器中输入一个域名时,例如https://www.cnblogs.com/Can-daydayup,浏览器会发出一个DNS查询请求。
- 操作系统的网络设置中配置了一个默认的DNS服务器地址,该请求会被发送到该DNS服务器。
- DNS服务器接收到查询请求后,会查找存储在其数据库中的域名和IP地址的映射关系。
- 如果DNS服务器没有相应的映射关系,它会向其他更高级别的DNS服务器发送查询请求,直到找到能提供所需映射关系的DNS服务器。
- 当DNS服务器找到域名和IP地址的映射关系后,它会将该信息返回给发起查询的设备。
- 浏览器接收到IP地址后,会使用该地址与目标服务器建立连接,开始进行网络通信。DNS的重要性在于它对于互联网的正常运行至关重要。它不仅用于解析域名到IP地址,还用于反向解析、缓存管理、负载均衡和安全功能等方面。无论是浏览网页、发送电子邮件还是进行其他网络活动,DNS都在后台默默地发挥着重要的作用。
功能特点
使用Technitium DNS Server,你可以实施以下功能:
- 域名解析:Technitium DNS Server可以将域名解析为相应的IP地址。当设备或应用程序需要访问特定的域名时,它会向Technitium DNS Server发送解析请求,并返回与该域名相对应的IP地址。
- 自定义配置:你可以根据需要自定义Technitium DNS Server的配置。这包括添加、删除和修改域名记录,设置缓存策略,以及配置转发规则等。
- 防止广告和恶意网站:Technitium DNS Server可以过滤掉一些广告和恶意网站。通过将这些域名添加到黑名单中,它可以阻止设备访问这些网址,从而提供更安全的浏览体验。
- 访问控制:你可以设置访问控制规则,限制对Technitium DNS Server的访问。这有助于确保只有经过授权的设备可以使用该DNS服务器,并加强网络安全性。
- 日志记录:Technitium DNS Server可以记录来自客户端的DNS请求和响应。这些日志有助于分析网络流量、故障排除和安全审计等方面。
总之,Technitium DNS Server是一款功能强大且灵活的DNS服务器软件,为用户提供了自定义域名解析、过滤功能、访问控制以及日志记录等特性,使其成为搭建私有DNS服务的理想选择。
特点
- 基于 .NET 7 实现 ,支持 Windows、Linux、macOS 和 Raspberry Pi
- 开箱即用,使用简单,高性能
- 提供 Web 控制台,可视化管理,查看使用情况
- 提供了对网络的额外控制,允许阻止域名
- 支持 DNS-over-TLS, DNS-over-HTTPS, and DNS-over-QUIC
- DNS-over-HTTPS 实现支持 HTTP/1.1、HTTP/2 和 HTTP/3 传输协议
- HTTP API 由 Web 控制台使用,第三方应用或脚本可以使用 Api 接口配置来 DNS 服务器
使用情况
- 能够快速上手使用,部署好设置域名解析很流畅
- 用得深入一点就需要看官方的博客了
- 高级的功能没深入研究,暂时只使用了简单的域名解析功能
DnsServer 的安装使用
准备
- 版本:v11.4.1
- 默认端口映射:53:53/tcp 53:53/udp 5380:5380/tcp(53 端口为 DNS 服务使用,5380为面板使用)
- 面板访问:http://ip:5380
DnsServer 的使用
- 部署成功后访问:http://192.168.123.214:5380 ,使用 admin devops666 登录 控制台中可以查看到一些监控统计


局域网域名泛解析到指定IP
和上文一样,需求是需要配置 dns 以将 test.com 解析到 192.168.123.214 中
- 控制台->Zones->Add Zone 创建主区域 test.com

- 添加泛解析


- 本机设置 dns
192.168.123.214以及114.114.114.114(不然无法访问其他网站)

- 验证dns,正常ping test.com 的IP是存在的,现在就被解析到我们自己的dns了

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)