本帖最后由 aoyabing 于 2026-6-11 11:11 编辑
提升网站访问速度的工具SmartDNS—V 0.13.0的使用
一、前言
SmartDNS 是一个运行在本地的 DNS 服务器,它接受来自本地客户端的 DNS 查询请求,然后从多个上游 DNS 服务器获取 DNS 查询结果,并将访问速度最快的结果返回给客户端,以此提高网络访问速度。 SmartDNS 同时支持指定特定域名 IP 地址,并高性匹配,可达到过滤广告的效果;支持DOT,DOH,DOQ,DOH3,更好的保护隐私。与 DNSmasq 的 all-servers 不同,SmartDNS 返回的是访问速度最快的解析结果。
今年4月份就关注了“吾爱”的帖子(可以用“提升网站访问速度的工具” 或 “SmartDNS-V 0.13.0”作关键词搜索),但一直无从着手,因为发帖者的介绍也很笼统,坛友的交流也很简单,要么不会,要么只有测试结果。直到吾爱的 xzwangqi0522 提供了程序文件、配置文件,并进行了具体指导,昨天经过摸索,配置文件成功加载,浏览网页提速明显。因为仅限办公上网,优化配置文件请豆包帮写的,在此将有关操作加载过程与大家分享,不妥之处,敬请指正。
二、加载方法
(一)成功加载配置文件的标志
1.如图1,检查服务状态,输入: .\smartdns.exe service status
2.如图2,验证最终是否生效,看能否正常解析。输入: nslookup baidu.com 127.0.0.1 。图中的Server与优化配置文件smartdns.conf中的服务标识一致且都是SmartDNS-Optimized,说明正常。
3.关于图2中出现——The system cannot write to the specified device 这句话。它不是 SmartDNS 的报错,而是 Windows 命令提示符(CMD)的输出异常(可能与使用的WIN系统作了精简有关),完全不影响程序功能。
(二)手动加载操作
1.下载程序文件(见下载地址)并解压。以本人的为例,将文件夹smartdns复制到C盘。
2.下载优化配置文件smartdns.conf,在C:\ProgramData下建立smartdns文件夹,将smartdns.conf复制到此文件夹中。
(这一步我的操作是:忽略——即不建立文件夹,也不复制smartdns.conf,而是直接按手动(1)至(5)的步骤做一次,会在C:\ProgramData下自动建立smartdns文件夹,且生成一个smartdns.conf 。然后停止服务—— .\smartdns.exe service stop 或 net stop smartdns ,再将下载的smartdns.conf复制到此处覆盖,最后再重复手动(1)至(5)的步骤,或执行自动加载BAT)
3.注意——C:\smartdns中也有个smartdns.conf,不用管它,但有的版本这个就是配置文件,包括豆包也没分清。此版本的优化配置文件smartdns.conf一定要放在C:\ProgramData\smartdns中,否则加载不会成功。
4.手动加载
将本机DNS中的IP地址设置成127.0.0.1 ,然后运行命令提示符(管理员),即以管理员身份打开CMD。
在CMD窗口输入:
(1)进入程序目录smartdns,先临时运行,测试配置文件是否有效(必须做这一步!)
cd c:\smartdns
.\smartdns.exe run -c .\smartdns.conf
(2)如果不报错,说明配置没问题,按Ctrl+C停止临时运行,接下来安装服务(自动读取C:\ProgramData\smartdns中的配置
smartdns.conf)—— .\smartdns.exe service install
(3)启动服务—— .\smartdns.exe service start
(4)检查服务状态—— .\smartdns.exe service status
(5)验证最终是否生效,看能否正常解析—— nslookup baidu.com 127.0.0.1
上述操作见图3。
5.其他
在当前c:\smartdns下:
(1)停止服务—— .\smartdns.exe service stop
(2)重启服务(修改配置后常用)—— .\smartdns.exe service restart
(3)卸载服务(不想用的时候)—— .\smartdns.exe service uninstall
在非当前c:\smartdns下:
(4)停止服务—— net stop smartdns
(5)重启服务—— net start smartdns
(三)自动加载操作
1.同样将本机DNS中的IP地址设置成127.0.0.1 。这一步不能少!
2.将上述手动加载的(1)至(5)的步骤,生成了一个BAT文件(见下载地址),然后右键以管理员方式运行。
3.BAT文件执行中,如果CMD窗口无光标闪动,按Ctrl+C停止临时运行(见图4),接下来如果出现……(Y/N)?的选择提示,输入N 。
(四)关于图3中的多个IP
验证最终生效后,上述有关图片中,因配置文件不同,有的Address只有一个IP,而有的有四个IP,为什么会出现这种情况?哪种情况好?
1.为什么会出现两种不同结果?
(1)只有 1 个 IP 的情况——说明你当前的配置是 response-mode fastest-ip。SmartDNS 会并行向多个上游 DNS 查询,再对所有返回的 IP 进行测速,只把延迟最低、访问最快的那一个 IP返回给系统。这是 SmartDNS 最核心的加速功能,专门用来解决 DNSmasq 等工具返回所有 IP 导致系统 “瞎选” 的问题。
(2)有 4 个 IP 的情况——说明配置变成了 response-mode first-ping 或 response-mode all(或默认模式)。这种模式下,SmartDNS 会把所有上游 DNS 返回的 IP 都汇总起来返回给系统,系统会自己尝试连接,或者只按顺序选第一个。这和普通 DNS 的行为差不多,没有发挥出 “选最快 IP” 的优势。
2.哪种情况更好?
(1)日常使用优先选「只有 1 个 IP」的情况(fastest-ip 模式),这正是你用 SmartDNS 的核心目的之一:直接给系统最优解,避免系统在多个 IP 里反复尝试、浪费时间,减少连接失败的概率,网页 / 视频打开更快,降低无效连接带来的延迟波动。
(2)什么情况下会用到多个 IP的模式?如果你是玩游戏、做服务器负载测试,需要多 IP 冗余,可以用这种模式;但对普通用户来说,没必要。
(五)关于豆包写的优化配置文件smartdns.conf
1.给豆包提的要求:办公局域网,电脑16G内存,上网只浏览网页,不玩游戏,麻烦写一份smartdns.conf配置文件,要求上网速度体现在打开网页快、无延迟,不加入广告过滤。
2.豆包回复——这里给你一份专为办公局域网、16G 内存、纯网页浏览优化的 smartdns.conf 配置,特点是:
(1)极致网页打开速度、低延迟;
(2)无广告过滤、无额外规则,干净稳定;
(3)低资源占用,适配办公场景;
(4)仅监听本机,安全不冲突。
3.具体内容如下图:(见下载地址)
4.smartdns.conf文件的建立与保存
通过记事本新建文本文档,将配置内容复制到文档,然后另存为smartdns.conf ,编码选择“UTF-8”,不要选择“ANSI”(否则加载不会成功)。具体如下图。
三、下载地址
网友提供程序文件全称——smartdns-x86_64-pc-windows-msvc-v0.13.0
1.程序文件——https://ayb.lanzoul.com/iSpHN3rhj4yf
2.豆包编写的优化配置文件——https://ayb.lanzoul.com/i68jJ3rhikja
3.配置自动加载——https://ayb.lanzoul.com/igxRE3rhm0oj
四、有新的配置文件怎么处理
如果提速服务已加载了,用net stop smartdns停止服务,将新的配置文件复制到C:\ProgramData\smartdns文件夹中,再执行自动加载BAT即可。如果没加载,直接复制覆盖后执行自动加载BAT。
特别说明:因本人不玩游戏,对相关配置没有测试。如有需求,可以将我提供的smartdns.conf的扩展名改为txt,即smartdns.txt,将此文件上传给豆包后,给它提出你的要求,让它修改并生成配置文件。
|