恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
小博无线
查看: 94007|回复: 885

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

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

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地址,并返回给客户端,避免DNS污染,提高网络访问速度。
  •     支持非标准端口
    支持非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的吗&gt;?
edmondw + 1 不要怂、就是干
Windows10 + 1 一看就是觉得高端、大气、上档次!
炽热太阳 -1 网件3800安装不过,可能是我笨了点!
lanren + 1 强大的恩山!(以下重复1万次)
tzxinqing + 2 移动的福利
5112075 + 1 移动的福利
cdnaa + 1 强大的恩山!(以下重复1万次)

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-22 21:39 | 显示全部楼层

在准备编译环境,后面会有。

你要支持的x86_64的标准Linux,还是x86_64的openwrt?

点评

centos什么时候可以部署  详情 回复 发表于 2018-10-14 15:24
当然openwrt拉  详情 回复 发表于 2018-7-22 21:44
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-23 12:01 | 显示全部楼层
我是路人乙 发表于 2018-7-23 11:59
K2T openwrt,内核4.9.107。opkg install提示Segmentation fault错误。

是不是没有下对版本。大小端不要搞错,openwrt的版本不要搞错。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-23 12:03 | 显示全部楼层
dongfangy2011 发表于 2018-7-23 09:14
不晓得效果怎么样,特别是被监控

免费,功能不限制,无后门,如担心,建议不要使用。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-23 12:04 | 显示全部楼层
我是路人乙 发表于 2018-7-23 10:25
期待开源,这个选择方式和dnschooser很像

嗯,看了下dnschooser,确实差不多,这个后面还会增加其他功能的,在规划中。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-23 12:05 | 显示全部楼层
QQ66 发表于 2018-7-23 11:42
支持一下,看起来和pcap-dnsproxy的功能差不多

不同,pcap-dnsproxy是按规则过滤避免DNS污染,这个是动态检测,并且能达到提升访问速度的效果。pcap是不行的
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-23 12:06 | 显示全部楼层

免费,功能不限制,无后门,暂不开源,如担心,建议不要使用
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-24 09:09 | 显示全部楼层

编译了x86-64的版本,看看能不能用。

点评

/tmp$ opkg install smartdns.1.2018.07.24-0807.x86-64.ipk Unknown package 'smartdns'. Collected errors: * pkg_hash_fetch_best_installation_candidate: Packages for smartdns found, but incompatible w  详情 回复 发表于 2018-7-24 13:20
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-24 15:03 | 显示全部楼层
cdnaa 发表于 2018-7-24 13:11
目前最新版Pangubox 安装失败了..
系统是PandoraBox-ralink-mt7620-newifi-mini-2018-07-21-git-73ad65611 ...

查了下,潘多拉的应该是15.05的openwrt,不是lede的,你可以安装这个看一下:smartdns.1.2018.07.24-1455.mipsel_24kec_dsp.ipk
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-24 15:29 | 显示全部楼层
505575853 发表于 2018-7-24 15:11
https://github.com/holmium/dnsforwarder/blob/6/default.config   其实和dnsforwarder很像,一个给ss坐上 ...

这个不只是防止DNS污染,这个会检测DNS解析后的IP访问速度的。
一个域名的多个IP地址,返回客户端的只有一个访问速度最快的IP地址。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-24 19:13 | 显示全部楼层
sspg33 发表于 2018-7-24 19:08
那用这个插件有什么意义?

都说了,是找最快的IP给你,一般情况下一个域名会有多个IP地址的,你的手机,电脑,是找任意一个,但这个并不一定是最快的,这个软件就是帮你找到最快的IP返回的手机,电脑。

也就是你玩一游戏可能没用到最快的那个IP,这个软件可以帮你找到最快的那个IP,这样你玩游戏就快了。

但如果服务器只有一个IP,这个软件就没有用。

点评

如果服务器只有一个IP的话,那应该是应用解析最快的那个DNS吧? 那也有用处啊~~~  详情 回复 发表于 2018-8-5 22:59
懂了 !~~~~~~~~~~~~~~~~~~~~~~~~  详情 回复 发表于 2018-7-24 19:33
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-26 14:15 | 显示全部楼层
sspg33 发表于 2018-7-26 13:39
我的9341 也是和你一样  刚才没注意 还以为装好了  看了一下  也是NOT RUNNING

1. 看看是不是5353端口被占用了,比运行了china-dns .
2. 刷新下页面。
3. 看看/usr/sbin/smartdns -h是否可执行。如果不可执行,那就是包有问题,反馈下。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-28 11:42 来自手机 | 显示全部楼层
329355990 发表于 2018-7-28 10:13
刷了梅林的k3能用吗??怎么样用!下载那一个!!

梅林没有支持,没设备
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-28 11:43 来自手机 | 显示全部楼层
secowu 发表于 2018-7-28 09:27
mtk mt7261没有啊?

mt7620的就可以,通用的
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2018-7-31 15:04 来自手机 | 显示全部楼层
gg_1990 发表于 2018-7-31 11:59
能支持LEDE吗  X86软路由  用OP的不能安装

什么错误,目前只有先x86-64的
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2019-4-26 05:53

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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