恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
小博无线
查看: 92348|回复: 881

【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的吗&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-4-19 22:56 | 显示全部楼层
czytea 发表于 2019-4-19 21:40
这次手动安装的openssl-util_1.0.2o-1_mipsel-3.4.ipk   和  openssl-util_1.0.2p-1a_mipsel-3.4.ipk后还是 ...

ldd /opt/usr/sbin/smartdns
看看有什么把 ,一般这种都是系统库不配套导致的。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-19 21:40 | 显示全部楼层
这次手动安装的openssl-util_1.0.2o-1_mipsel-3.4.ipk   和  openssl-util_1.0.2p-1a_mipsel-3.4.ipk后还是无法安装smartdns

222222222.JPG
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-19 20:58 来自手机 | 显示全部楼层
学习下,看看
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-4-19 20:32 | 显示全部楼层
czytea 发表于 2019-4-18 21:52
手动装了openssl,似乎结果一样。。

openssl要是1.0.x版本的。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-18 21:52 | 显示全部楼层
手动装了openssl,似乎结果一样。。


5453435453.JPG
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-4-18 19:11 | 显示全部楼层
czytea 发表于 2019-4-18 17:58
padavan有更新就重新编译了一个,然后装好entware,安装就不行了,然后换回原来的固件,装好entware也无法 ...

可能是openssl库没有配套。
检查一下openssl库是否正确使用1.0.x版本。

这个openssl有可能安装到了/opt/usr目录中
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-4-18 19:09 | 显示全部楼层
cmj2836140 发表于 2019-4-17 21:06
梅林固件的怎么卸载?现在装了没法卸载了

opkg remove smartdns命令卸载
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-18 17:58 | 显示全部楼层
padavan有更新就重新编译了一个,然后装好entware,安装就不行了,然后换回原来的固件,装好entware也无法安装了!!都是提示Segmentation fault
/opt/tmp 目录下有个文件如下,不知道是否对解决问题有帮助。
Package: smartdns
Architecture: mipsel-3.4
Priority: optional
Section: net
Version: 1.2019.04.02-0832
Maintainer: pymumu
Source: http://127.0.0.1/
Description: A smart dns server
Suggests:
Conflicts:
Enabled: yes



21212.JPG

点评

可能是openssl库没有配套。 检查一下openssl库是否正确使用1.0.x版本。 这个openssl有可能安装到了/opt/usr目录中  详情 回复 发表于 2019-4-18 19:11
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-17 21:06 | 显示全部楼层
梅林固件的怎么卸载?现在装了没法卸载了

点评

opkg命令卸载  详情 回复 发表于 2019-4-18 19:09
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-15 22:38 | 显示全部楼层
支持更新的了。。。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-15 05:35 | 显示全部楼层
orange pi zero plus 的全志h5的能支持吗
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-11 20:08 | 显示全部楼层
shenmuecn 发表于 2019-4-11 19:51
https://github.com/pymumu/smartdns/releases/download/Release23/smartdns.1.2019.04.02-0832.mipsel_1 ...

感谢你的指导,我已经安装成功,希望能对现在移动宽带网络有所改善。
再次感谢
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-4-11 19:51 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-4-11 19:18 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-4-11 18:19 | 显示全部楼层
toxicity 发表于 2019-4-11 12:59
你好,楼主。 按照你帖中提供的安装参考,我并不能顺利的安装SmartDNS.
主机名        PandoraBox
设备型 ...

https://github.com/pymumu/smartd ... 9%E8%A3%85%E5%8C%85

参考这一节后面的选择指导。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2019-4-22 06:56

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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