一个本地DNS服务器,通过从多个上游DNS服务器获取查询结果,并返回访问速度最快的 IP 地址,从而为用户提供最佳的上网体验

图片[1]-一个本地DNS服务器,通过从多个上游DNS服务器获取查询结果,并返回访问速度最快的 IP 地址,从而为用户提供最佳的上网体验-浩瀚博客

项目功能

    • • 多虚拟 DNS 服务器:支持多个虚拟 DNS 服务器,每个服务器可以有不同的端口、规则和客户端。
    • • 多 DNS 上游服务器:可以配置多个上游 DNS 服务器,并同时进行查询,即使部分服务器异常,也不会影响整体查询。
    • • 客户端独立控制:基于 MAC 或 IP 地址控制客户端使用不同的查询规则,可实现家长控制等功能。
    • • 返回最快 IP 地址:从域名所属 IP 地址列表中查找并返回访问速度最快的 IP 地址,显著提升网络访问速度。
    • • 多种查询协议支持:支持 UDP、TCP、DoT、DoH、DoQ 和 DoH3 查询及服务,以及非 53 端口查询;还支持通过 socks5 和 HTTP 代理查询。
    • • 特定域名 IP 地址指定:可以指定特定域名的 IP 地址,实现广告过滤和避免恶意网站的效果。
    • • 高性能域名后缀匹配:支持域名后缀匹配模式,简化过滤配置,过滤 20 万条记录时间小于 1ms。
    • • 域名分流:支持域名分流,不同类型的域名可以向不同的 DNS 服务器查询,支持 iptable 和 nftable 分流;在测速失败的情况下,可以将域名结果设置到对应的 ipset 和 nftset 集合。
    • • 多平台支持:支持标准 Linux 系统(如树莓派)、OpenWrt 系统、华硕路由器原生固件以及 Windows 系统(包括 WSL)。
  • • IPv4/IPv6 双栈支持:支持 IPv4 和 IPv6 网络,查询 A 和 AAAA 记录,支持双栈 IP 速度优化,并可完全禁用 IPv6 AAAA 解析。
  • • DNS64 支持:支持 DNS64 转换。
  • • 高性能与低资源占用:采用多线程异步 IO 模式,通过 cache 缓存查询结果,确保高性能和低资源占用。
  • • 主流系统官方支持:主流路由系统官方软件源支持安装 SmartDNS

项目架构

  1. 1. 接收查询请求:SmartDNS 接收来自本地网络设备(如 PC、手机)的 DNS 查询请求。
  2. 2. 发送查询请求:将查询请求发送到多个上游 DNS 服务器,支持 UDP 标准端口或非标准端口查询,以及 TCP 查询。
  3. 3. 检测最快 IP:上游 DNS 服务器返回域名对应的服务器 IP 地址列表,SmartDNS 检测从本地网络访问速度最快的服务器 IP。
  4. 4. 返回结果:将访问速度最快的服务器 IP 返回给本地客户端。

直达链接【点击前往

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享