恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 109823|回复: 906

【2019-4-1】SmartDNS,高性能本地DNS服务器,极大优化网络访问速度

    [复制链接]
发表于 2018-7-22 21:25 | 显示全部楼层 |阅读模式
本帖最后由 shenmuecn 于 2019-4-30 23:36 编辑

SmartDNS

SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回个客户端,提高网络访问速度。同时支持指定特定域名IP地址,并高性匹配,达到过滤广告的效果。
支持树莓派,openwrt,华硕路由器,Windows 10 WSL等设备。

smartdns是移动宽带,长城宽带用户的福音。

下载路径:https://github.com/pymumu/smartdns/releases
使用指导及安装配套表:https://pymumu.github.io/smartdns/

效果展示
以百度为例,分别用阿里DNS 223.6.6.6和SmartDNS对比。
阿里DNS结果:
baidu.com-ali.png

SmartDNS结果:

local.png

可以看到,在未使用SmartDNS时,访问百度时延在30ms左右,使用smartdns后,时延在6ms。

特性
  •     多DNS上游服务器
    支持配置多个上游DNS服务器,并同时进行查询,即使其中有DNS服务器异常,也不会影响查询。
  •     返回最快IP地址
    支持从域名所属IP地址列表中查找到访问速度最快的IP地址,并返回给客户端,提高网络访问速度。
  •     支持非标准端口
    支持非53端口查询,支持TCP查询。
  •     特定域名IP地址指定
    支持指定域名的IP地址,达到广告过滤效果。
  •     域名高性能后缀匹配
    支持域名后缀匹配模式,简化过滤配置,过滤20万条记录时间<1ms
  •     Linux/Windows多平台支持
    支持标准Linux系统(树莓派),openwrt系统各种固件,华硕路由器原生固件,同时支持Windows 10 WSL系统。
  •     支持IPV4, IPV6双栈
    支持IPV4,IPV6网络,支持查询A, AAAA记录,支持IPV4,IPV6双栈IP优选策略。
  •     高性能,占用资源少
    多线程异步IO模式,cache缓存查询结果。

功能说明

  • SmartDNS接收本地网络设备的DNS查询请求,如PC,手机的查询请求。
  • SmartDNS将查询请求发送到多个上游DNS服务器,可采用标准UDP查询,非标准端口UDP查询,及TCP查询。
  • 上游DNS服务器返回域名对应的Server IP地址列表。SmartDNS检测与本地网络访问速度最快的Server IP。
  • 将访问速度最快的Server IP返回给本地客户端。

界面预览

UI.png

使用下载配套安装包

下载配套版本的SmartDNS安装包,对应安装包配套关系如下。(请访问https://pymumu.github.io/smartdns/查看最新配套表)
系统安装包说明
标准Linux系统(树莓派)smartdns.xxxxxxxx.armhf.deb支持树莓派Raspbian stretch,Debian 9系统。
标准Linux系统(x86_64)smartdns.xxxxxxxx.x86_64.tar.gz支持x86_64 Linux 系统。
Windows 10 WSL (ubuntu)smartdns.xxxxxxxx.x86_64.tar.gz支持Windows 10 WSL ubuntu系统。
华硕原生固件(optware)smartdns.xxxxxxx.mipsbig.ipk支持MIPS大端架构的系统,如RT-AC55U, RT-AC66U.
华硕原生固件(optware)smartdns.xxxxxxx.mipsel.ipk支持MIPS小端架构的系统。
华硕原生固件(optware)smartdns.xxxxxxx.arm.ipk支持arm小端架构的系统,如RT-AC68U。
Padavansmartdns.xxxxxxx.mipselsf.ipkpadavan固件。
openwrt 15.01smartdns.xxxxxxxx.ar71xx.ipk支持AR71XX MIPS系统。
openwrt 15.01smartdns.xxxxxxxx.ramips.ipk支持MT7260小端等路由器
openwrt 15.01(潘多拉)smartdns.xxxxxxxx.ramips_24kec.ipk支持MT762X等小端路由器
openwrt 15.01(潘多拉)smartdns.xxxxxxxx.ramips_24kec.ipk支持MT7620系列的潘多拉固件
openwrt 18.06smartdns.xxxxxxxx.mips_24kc.ipk支持AR71XX MIPS系统。
openwrt 18.06smartdns.xxxxxxxx.mipsel_24kc.ipk支持MT7260小端等路由器
openwrt 18.06smartdns.xxxxxxxx.x86-64.ipk支持x86-64路由器
openwrt 18.06smartdns.xxxxxxxxxxx.arm_cortex-a9.ipk支持arm A9核心CPU的路由器
openwrt 18.06smartdns.xxxxxxxxx.arm_cortex-a7_neon-vfpv4.ipk支持arm A7核心CPU的路由器
openwrt LUCIluci-app-smartdns.xxxxxxxxx.xxxx.all.ipkopenwrt管理统一界面

openwrt系统CPU架构比较多,请查看CPU架构后下载,CPU架构可在路由器管理界面找到,查看方法:
  • 登录路由器,点击System->Software,点击Configuration Tab页面,在opkg安装源中可找到对应软件架构,下载路径中可找到,如下,架构为ar71xx

src/gz chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base

使用说明
https://pymumu.github.io/smartdns/

下载:下载链接

版本说明:
如果没有你要的版本,请在回复中留言,注明一下信息:
【路由器型号】:
【CPU型号】:
【openwrt适用的固件路径】:(https://downloads.openwrt.org/releases/目录中给出)
【opkg的安装源信息】:(登录路由器,点击System->Software,点击Configuration Tab页面的内容)


更新日志
【2019/4/1】
  • 增加DOH https的支持。(wireformat格式)
  • 增加端口占用检测。
  • 优化双栈IP优选的性能。
  • 增加上游重试机制,避免网络异常失败。
  • 支持域名分流功能(nameserver配置项和-group参数)。
  • 支持TLS使用SPKI校验(-spki-pin参数)。
  • conf-file支持相对路径。
  • 文档增加FAQ说明。
  • 修正一些小错误。
  • 新增armbian arm64 debian stretch系统的支持。


【2019/2/18】
  • addres配置项支持指定#,#4,#6,-分别表示域名返回SOA, A地址返回SOA, AAAA地址返回SOA以及忽略规则。
  • ipset配置项支持指定-,忽略配置规则。
  • 支持padavan固件
  • 支持AR71xx的潘多拉固件
  • 支持ignore-ip指定丢弃结果中的IP地址。
  • 解决IP双栈优选下的几个错误。
  • 增加配置选项:打印加载时的错误到syslog或终端,方便定位配置错误。
  • 优化性能以及可靠性。
  • 解决一些crash异常。
  • 新增windows 10 WSL支持。


【2019/1/8】
  • 增加IP黑名单支持,支持使用IP黑名单过滤特定DNS服务器返回的结果
  • 增加IPSET的支持,配合ipset使用。
  • bogus-domain,ipset,blacklist支持IP子网。
  • 支持过滤特定DNS服务器的伪造域名。
  • 支持IPV4, IPV6之间IP地址优选策略。
  • 污染IP过滤增强。
  • 优化查询超时机制,保证查询超时时间1.1s内。
  • 提升Luci界面配置保存速度。
  • 支持启用或停用上游服务器。
  • 解决crash的BUG。
  • 解决一些BUG。
  • 增加异常定位能力。
  • 优化Luci界面配置。
  • 优化baidu DNS回应错误包时的日志打印。


【2018/12/1】
  • 增加TCP查询服务器。
  • 增加openwrt下的重定向模式配置。
  • 增加dns查询审计日志功能,记录dns查询请求。(请在自定义配置中增加配置项)
  • 修改几处BUG。


【2018/11/3】
  • 增加TLS查询支持。
  • 增加X86版本的支持。
  • 升级配套openwrt18.06
  • 修改进程可能死循环的BUG。
  • 修改进程可能异常退出的BUG。


【2018/9/4】
  • 增加关闭IPV6的功能。
  • 优化部分日志打印。


【2018/8/17】
  • 增加伪造毒IP地址过滤功能(bogus-nxdomain参数)
  • 增加支持arm_cortex-a15_neon-vfpv4
  • 修正一处代码BUG。
  • 修正潜在的一个并发问题。


【2018/8/9】
  • LUCI界面增加smartDNS自定义参数界面。
  • 增加conf-file参数。
  • 修改address匹配规则a,按域名匹配(之前版本后缀匹配)
  • 解决X86-64系统下定时器失效的错误。
  • 解决openwrt错误日志打印问题。


【2018/8/7】
1. 解决LEDE系统下,重启后,redirect未生效的问题。
2. 增加IPV6场景下的端口重定向。
3. 增加重定向是否生效的检测。并提示。


【2018/8/3】
1. 解决华硕路由器中服务重启问题。
2. 优化,当域名只有一个IP的情况下,不做检测。
3. 增加arm_cortex-a9_vfpv3的支持
4. 解决界面服务状态显示未刷新的问题
5. 优化指导书,刷新检查服务是否生效的方法
6. 界面默认启用redirect

注意:之前版本升级到此版本,需要重启路由器,否则服务状态将获取失败。

【2018/7/31】
1. 增加配置smartdns服务器名字,完善帮助。
2. 增加中文界面.

【2018/7/30】
1.增加x86_64, arm_cortex_a9, arm_cortex_a7的支持


【2018/7/25】
1. 解决smartdns服务在路由器重启时没启动的问题。

【2018/7/24】
1. 解决LEDE安装时的segment falut错误。
2. 支持X86-64系统













P.png

评分

参与人数 23恩山币 +24 收起 理由
z1539913331 + 1 真牛逼 我实测成功 打开网页速度真的快了好多!!牛逼!!!必须顶!!!!!!
laimama + 2 最近github下载不了呀!!能给个其它的下载地址吗?
gxminfo2 + 1 强大的恩山!(以下重复1万次)
shimi + 1 移动的福利
kylin2017 + 1 能否编译一份X86的32位的版本
leechaohua + 1 一看就是觉得高端、大气、上档次!
ubridge -1 X86的装都装不上,什么啊!
leeyeung + 1 别说了,打他!!!
upan + 1 面对这种帖子,我内心复杂,真不知道说什么好……
yinhao + 1 强大的恩山!(以下重复1万次)
whoweasn + 2 率全体恩山路由党以及党魁向你学习!
北方困难群众 + 1 率全体恩山路由党以及党魁向你学习!
geekman + 2 率全体恩山路由党以及党魁向你学习!
1324881770 + 1 强大的恩山!(以下重复1万次)
心太高命太薄 + 2 率全体恩山路由党以及党魁向你学习!
simenty + 1 好东西,有高通IPQ40XX的吗&amp;gt;?
edmondw + 1 不要怂、就是干
Windows10 + 1 一看就是觉得高端、大气、上档次!
炽热太阳 -1 网件3800安装不过,可能是我笨了点!
lanren + 1 强大的恩山!(以下重复1万次)
tzxinqing + 2 移动的福利
5112075 + 1 移动的福利
cdnaa + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-16 12:56 | 显示全部楼层
本帖最后由 qqptan 于 2019-6-16 14:24 编辑

无法启动,请问是怎么回事?
360截图20190616142349554.jpg
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-15 21:05 | 显示全部楼层
潘多拉x86不支持
来自苹果客户端来自苹果客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-6-15 11:27 | 显示全部楼层
https://blog.csdn.net/antony1776/article/details/82801549

这个可以解决与openssl 1.1.X的兼容性吗?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-27 17:33 | 显示全部楼层
哥,你好,请问能不能根据以下这份SDK编译一份ipq806x架构的smartdns呢?谢谢哥

https://github.com/gl-inet/sdk.git

因为我已经尝试了目前你预先编译好的安装包,均无法运行在gl-inet的原生固件上,而哥写的smartdns尚未开源,还望你能帮忙用以上SDK编译一份,他们家的SDK编译也是非常简单,把源代码丢进去package后执行make就可以编译了,感激!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-16 14:31 | 显示全部楼层
本帖最后由 imyoona 于 2019-5-16 14:39 编辑

OpenWrt 18.06-SNAPSHOT r7755-d3053b1bdc / LuCI openwrt-18.06 branch (git-19.127.24963-84692e5)

在DOH服务器后面加组就无法运行了。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-15 09:21 | 显示全部楼层
用这个出现OneDrive无法登录同步,经过排查发现是设置的1.1.1.1解析出来的IPping不通,尔中科大,鹅厂,114解析出来的可用,这个咋办?

我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-14 19:32 | 显示全部楼层

另外,现在8.8.8.8被劫持,如果采用DNS over TLS,并且让8.8.8.8这个ip走酸酸乳,那可以得到正确的解析吗?

还有可以屏蔽dns污染吗?就是返回的假ip
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-14 19:28 | 显示全部楼层

1.1.1.1 DNS over TLS选tls  还是HTTPS
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-14 16:00 | 显示全部楼层
LEDE koolshare 版本 2.31 ,安装后到设置里面去启动,状态一直是未启动,可能存在的问题是?
已经设置了转发模式,或上游模式都无法启动。启动服务里面看也点了启动都无法启动。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-12 11:52 | 显示全部楼层
smartdns  没有极路由HC5962 openwrt 18.06的版本么?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-11 22:13 | 显示全部楼层
支持MT762X等小端路由器,这个啥时能适配openwrt18.06呀
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-8 13:05 来自手机 | 显示全部楼层
改版梅林系统可以安装吗
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-8 11:57 | 显示全部楼层
src/gz 19.04_core http://downloads.pangubox.com:63 ... ink/mt7621/packages

我的是mt7621   你给的下载里并没有对应的安装包  怎么破?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-4 11:38 | 显示全部楼层
小白表示会安装,但是不知为啥启动不了,也不会设置。我的是华硕路由器刷了梅林
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-5-3 11:49 | 显示全部楼层
shenmuecn 发表于 2019-4-30 22:36
看你选择了什么模式,IPV4用模式1的话应该没有问题。
模式2的话,能同时支持IPV4,IPV6的局域网。但可能 ...

5351端口好像被其他进程占用了,如何修改这个端口???
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛 ( 苏ICP备05084872号-1 )

GMT+8, 2019-6-20 07:32

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表