项目功能
-
-
• 多虚拟 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. 接收查询请求:SmartDNS 接收来自本地网络设备(如 PC、手机)的 DNS 查询请求。 -
2. 发送查询请求:将查询请求发送到多个上游 DNS 服务器,支持 UDP 标准端口或非标准端口查询,以及 TCP 查询。 -
3. 检测最快 IP:上游 DNS 服务器返回域名对应的服务器 IP 地址列表,SmartDNS 检测从本地网络访问速度最快的服务器 IP。 -
4. 返回结果:将访问速度最快的服务器 IP 返回给本地客户端。
直达链接【点击前往】
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END