今天要给大家推荐一款.NET开源跨平台的开箱即用的DNS服务器软件(用于提供 DNS 解析服务):Technitium DNS Server。

项目介绍

Technitium DNS Server是一个开源的权威和递归DNS服务器,可以用于自主托管DNS服务器以提升隐私和安全性。它可以直接使用或者只需要进行最小配置,并且提供了一个用户友好的Web控制台,可以在任何现代Web浏览器中访问。Technitium DNS Server是一款跨平台的DNS服务器软件,可以在多个操作系统上运行。目前,Technitium DNS Server支持以下操作系统:

  1. Windows:包括Windows 10、Windows 8/8.1、Windows 7、Windows Server等。
  2. Linux:支持各种Linux发行版,如Ubuntu、Debian、CentOS、Fedora等。
  3. 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工作原理如下:

  1. 当你在浏览器中输入一个域名时,例如https://www.cnblogs.com/Can-daydayup,浏览器会发出一个DNS查询请求。
  2. 操作系统的网络设置中配置了一个默认的DNS服务器地址,该请求会被发送到该DNS服务器。
  3. DNS服务器接收到查询请求后,会查找存储在其数据库中的域名和IP地址的映射关系。
  4. 如果DNS服务器没有相应的映射关系,它会向其他更高级别的DNS服务器发送查询请求,直到找到能提供所需映射关系的DNS服务器。
  5. 当DNS服务器找到域名和IP地址的映射关系后,它会将该信息返回给发起查询的设备。
  6. 浏览器接收到IP地址后,会使用该地址与目标服务器建立连接,开始进行网络通信。DNS的重要性在于它对于互联网的正常运行至关重要。它不仅用于解析域名到IP地址,还用于反向解析、缓存管理、负载均衡和安全功能等方面。无论是浏览网页、发送电子邮件还是进行其他网络活动,DNS都在后台默默地发挥着重要的作用。

功能特点

使用Technitium DNS Server,你可以实施以下功能:

  1. 域名解析:Technitium DNS Server可以将域名解析为相应的IP地址。当设备或应用程序需要访问特定的域名时,它会向Technitium DNS Server发送解析请求,并返回与该域名相对应的IP地址。
  2. 自定义配置:你可以根据需要自定义Technitium DNS Server的配置。这包括添加、删除和修改域名记录,设置缓存策略,以及配置转发规则等。
  3. 防止广告和恶意网站:Technitium DNS Server可以过滤掉一些广告和恶意网站。通过将这些域名添加到黑名单中,它可以阻止设备访问这些网址,从而提供更安全的浏览体验。
  4. 访问控制:你可以设置访问控制规则,限制对Technitium DNS Server的访问。这有助于确保只有经过授权的设备可以使用该DNS服务器,并加强网络安全性。
  5. 日志记录: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 的使用

局域网域名泛解析到指定IP

和上文一样,需求是需要配置 dns 以将 test.com 解析到 192.168.123.214 中

  1. 控制台->Zones->Add Zone 创建主区域 test.com

  1. 添加泛解析

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

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

Logo

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

更多推荐