- A+
所属分类:互联网络
日常网络访问中,慢如蜗牛的网页打开速度是不是让你心态崩溃?SmartDNS作为一款开源免费的DNS工具,通过返回访问速度最快的 IP,大幅提升网络访问效率,还支持广告屏蔽和隐私保护。一键解决 DNS 慢、网络卡顿的痛点,让你的访问速度提一提。

SmartDNS
SmartDNS 是一个运行在本地的 DNS 服务器,提供仪表界面,它接受来自本地客户端的 DNS 查询请求,然后从多个上游 DNS 服务器获取 DNS 查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。 SmartDNS 同时支持指定特定域名 IP 地址,并高性匹配,可达到过滤广告的效果; 支持DOT(DNS over TLS)、DOH(DNS over HTTPS)和 DOQ(DNS over Quic),更好的保护隐私。
与 DNSmasq 的 all-servers 不同,SmartDNS 返回的是访问速度最快的解析结果。
支持树莓派、OpenWrt、Docker、华硕路由器原生固件和 Windows 系统等。
特点

- 多虚拟DNS服务器
支持多个虚拟DNS服务器,不同虚拟DNS服务器不同的端口,规则,客户端。 - 多 DNS 上游服务器
支持配置多个上游 DNS 服务器,并同时进行查询,即使其中有 DNS 服务器异常,也不会影响查询。 - 支持每个客户端独立控制
支持基于MAC,IP地址控制客户端使用不同查询规则,可实现家长控制等功能。 - 返回最快 IP 地址
支持从域名所属 IP 地址列表中查找到访问速度最快的 IP 地址,并返回给客户端,提高网络访问速度。 - 支持多种查询协议
支持 UDP、TCP、DOT、DOH 和 DoQ 查询及服务,以及非 53 端口查询;支持通过socks5,HTTP代理查询; - 特定域名 IP 地址指定
支持指定域名的 IP 地址,达到广告过滤效果、避免恶意网站的效果。 - 域名高性能后缀匹配
支持域名后缀匹配模式,简化过滤配置,过滤 20 万条记录时间 < 1ms。 - 域名分流
支持域名分流,不同类型的域名向不同的 DNS 服务器查询,支持iptable和nftable更好的分流;支持测速失败的情况下设置域名结果到对应ipset和nftset集合。 - Windows / Linux 多平台支持
支持标准 Linux 系统(树莓派)、OpenWrt 系统各种固件和华硕路由器原生固件。同时还支持 WSL(Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统)。 - 支持 IPv4、IPv6 双栈
支持 IPv4 和 IPV 6网络,支持查询 A 和 AAAA 记录,支持双栈 IP 速度优化,并支持完全禁用 IPv6 AAAA 解析。 - 支持DNS64
支持DNS64转换。 - 高性能、占用资源少
多线程异步 IO 模式,cache 缓存查询结果。 - 主流系统官方支持
主流路由系统官方软件源安装smartdns。
安装教程:
-
Linux 系统安装(Releases下载页)
# 下载最新版本 wget https://github.com/pymumu/smartdns/releases/download/Release46.1/smartdns.1.2025.03.02-1533.x86_64-linux-all.tar.gz # 解压并安装 tar -zxvf smartdns.1.2025.03.02-1533.x86_64-linux-all.tar.gz cd smartdns chmod +x ./install ./install -i #启动服务 systemctl enable smartdns systemctl start smartdns
- 树莓派或其他 Debian 系统(ARM / ARM64)安装
dpkg -i smartdns.1.yyyy.MM.dd-REL.arm-debian-all.deb #启动服务 systemctl enable smartdns systemctl start smartdns 注意: ubuntu系统下,systemd-resolved会占用TCP53和UDP53端口, 你需要手动解决端口占用问题或者修改smartdns监听端口。 日志文件在/var/log/smartdns/smartdns.log
-
在 OpenWrt 系统上安装
opkg update opkg install smartdns
配置文件位置在 /etc/smartdns/smartdns.conf,根据需求自行配置(配置指导)。
-
Windows 系统 WSL 环境
直接通过下载最新的发布包,运行安装脚本即可。 - Docker系统安装
#-1 创建配置文件/etc/smartdns/smartdns.conf,添加如下必须的配置项目: # 监听53端口 bind [::]:53 # 配置上游服务器 server 8.8.8.8 server 114.114.114.114 server 119.29.29.29 server 202.96.128.166:53 server-tls 1.1.1.1 server-quic 1.1.1.1 server-h3 223.5.5.5 dualstack-ip-selection yes speed-check-mode ping,tcp:80,tcp:443 speed-check-mode tcp:443,ping #-2 启动镜像 docker run -d --name smartdns --restart=always -p 53:53/udp -v /etc/smartdns:/etc/smartdns docker.sunlovely.com.cn/pymumu/smartdns:latest
-
修改 DNS 设置
安装完成后,将本地网络的 DNS 地址设置为 SmartDNS 运行的地址(比如 127.0.0.1)。 -
测试运行
使用命令确定 SmartDNS 是否成功安装和运行:nslookup www.baidu.com 127.0.0.1
SmartDNS 是一款强大又灵活的本地 DNS 服务器,专为解决 DNS 卡顿、网络访问效率低下问题设计。不仅能自动帮你选择最快的访问地址,还支持协议、平台甚至广告拦截等丰富功能。对于运维人员来说,它不仅能提高效率,还能省下大量调试时间。无论是小白还是资深运维,都能快速上手,赶紧试试吧!