找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 6541|回复: 11

[N1盒子] smartdns+adguard设置经验与心得分享,提升速度且保持私密(仅适用于自建VPS)

[复制链接]
发表于 2020-5-5 09:02 | 显示全部楼层 |阅读模式
本帖最后由 zhea55 于 2020-5-5 09:17 编辑

我的方法是发挥公共dns的最大作用,返璞归真。

移除以下功能:
1. smartdns(作用比较有限)
2. dnsmasq(作用不大,还很坑,passwall里面也用到了这个,针对国外的域名它有一个默认配置好的ipset,命中ipset的域名会直接返回写死的ip,写死的ip并不一定是你的小鸡访问速度最快的ip)。

国外小鸡ping谷歌dns,这种延迟就是每次去谷歌服务器拿ip,速度都非常快,完全不需要各种dns工具(这些公开dns都会给你返回相对于你位置最快的ip,不需要再做额外的操作)



参考网上的教程,配置好smartdns,adguardhome,passwall以后,我感觉有一个地方不对劲
adguard home里面所有的dns请求都是由localhost发起



这有一个什么问题呢?


当你访问google.com时     

我原以为:google.com的域名通过v贰瑞加密,经过防火墙,到达VPS主机,主机发起到我本地的dns请求,拿到原始ip,然后下载数据,再通过v贰瑞回传
实际上:google.com的域名通过china-dns-ng,判断出是国外域名,有两种情况(google.com是第一种情况):
             1. 它直接从ipset里面掏了一个ip出来,都不请求它的上游服务器,然后把这个ip返回给你,这个ip不一定是你的小鸡访问最快的ip
             2. 域名没有匹配它的ipset,它去上游服务器查询ip。这个查询操作,最次的情况是返回了一个你本地访问最快的ip,这个ip给到VPS,结果VPS飘洋过海访问一个最慢的ip。
                 最好的情况是返回了一个你VPS访问最快的ip。虽然返回的是最快的ip,但是它的姿势,有严重的问题。


这里我引用L大的原话,获取这个VPS最快ip的逻辑。

固件 DNS 的逻辑是, 国外域名会通过 乳酸菌饮料 Plus 内部的 PDNSD 会走 乳酸菌饮料 的转发工具(SS/乳酸菌饮料/V2 等)建立的隧道到 VPS 节点,然后由 VPS 通过 TCP DNS 查询 8.8.8.8 等 BGP 服务器,获得离 VPS 节点最优的 CDN DNS 查询记录,这样你的手工竹手工竹手工竹手工竹手工竹手工竹手工竹手工竹梯子才是速度最快的

仔细理解这句话,你就会发现,获取ip流程图如下(我个人猜测的,如有不对,欢迎指正):         
    china-dns-ng发现你访问的域名是国外的服务器    ->    通过v贰瑞建立的连接到VPS上去查询ip    ->    VPS查询到ip之后把结果返回给本地    ->    本地再把ip发送给服务器端
这其中的问题就是,谁发起的请求,谁就能拿到结果。这里的请求是在我们本地发起的,结果一定要VPS请求得出,然后传送回来。传送回来的ip,本地拿到了没有鸟用,又把ip再次发送给服务器。
也就是说,每次查询一个域名的ip,它都要一来一回。


想想你国外小鸡在国内的访问延迟。


这里我给到的解决方案,就是直接在服务器端进行dns查询,这样获取ip的流程图如下:
        域名通过v贰瑞传输到VPS    ->    VPS拿到域名,自己进行dns解析    ->    拿到ip后马上开始下载内容

对比可以发现,这里只有一次往服务器传递,服务器就能马上拿到ip,开始下载内容(前提是VPS访问公共dns速度很快,当然这个前提很容易满足)。



最终优化后的操作步骤:
        1. VPS上配置v贰瑞,使用公共dns,然后重启v贰瑞
  1. {
  2.   "dns": {
  3.     "servers": [
  4.       "8.8.8.8"
  5.     ]
  6.   },
  7.   "inbounds": [
  8.     {
  9.       "port": 12345,
  10.       "listen":"127.0.0.1",
  11.       "protocol": "vmess",
  12.       "settings": {
  13.         "clients": [
  14.           {
  15.             "id": "f0c680c4-752b-48eb-9363-0e7b5bb8201a",
  16.             "alterId": 64
  17.           }
  18.         ]
  19.       },
  20.       "streamSettings": {
  21.         "network": "ws",
  22.         "wsSettings": {
  23.           "path": "/ray"
  24.         }
  25.       }
  26.     }
  27.   ],
  28.   "outbounds": [
  29.     {
  30.       "protocol": "freedom",
  31.       "settings": {
  32.         "domainStrategy": "UseIP"
  33.       }
  34.     }
  35.   ]
  36. }
复制代码

        2. passwall设置






如果需要去除国外广告,可以把上面的8.8.8.8换成176.103.130.130  176.103.130.131
也可以试试nextdns,目前免费,可以去除广告,屏蔽黄色网站,有一个统计请求数据的web界面(跟adguard home差不多)



可能有人会问,使用这种53端口的dns不够私密。
仔细想想,之前的国外域名dns请求,都是在你本地发出的,所以你想要用tls,https。

我的这种方法,由于是在VPS上发起的dns请求,也是说已经到了墙外,所以用53端口速度更快。














本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-5-5 09:13 | 显示全部楼层
感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-5 09:57 | 显示全部楼层
谢谢,楼主有善于分析的头脑和勇于探究的精神

点评

自己瞎折腾。  详情 回复 发表于 2020-5-5 10:07
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-5 10:01 | 显示全部楼层
真假,我试试
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-5-5 10:07 | 显示全部楼层
天天顺心 发表于 2020-5-5 09:57
谢谢,楼主有善于分析的头脑和勇于探究的精神

自己瞎折腾。

点评

我是小白,只开了 AdGuardHome重定向模式 作为 dnsmasq 的上游服务器,配合机场,访问外地已经够用了  详情 回复 发表于 2020-5-5 10:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-5 10:17 | 显示全部楼层


我是小白,只开了 AdGuardHome重定向模式 作为 dnsmasq 的上游服务器,配合机场,访问外地已经够用了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-5 10:41 | 显示全部楼层
有用最好啊,我一直觉得SmartDNS无用

点评

从原理来分析,这种方式,应该是最高效的。 因为公共dns本来就具备向客户端发送最优节点的功能,利用他们强大、海量的服务器计算能力。 dnsmasq这个东西,个人感觉很鸡肋。可能有少部分人的dns被污染了,就算  详情 回复 发表于 2020-5-5 19:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2020-5-5 19:50 | 显示全部楼层
开始懂了~ 发表于 2020-5-5 10:41
有用最好啊,我一直觉得SmartDNS无用

从原理来分析,这种方式,应该是最高效的。

因为公共dns本来就具备向客户端发送最优节点的功能,利用他们强大、海量的服务器计算能力。

dnsmasq这个东西,个人感觉很鸡肋。可能有少部分人的dns被污染了,就算真的被污染,也就是别人加了一点广告,装个插件就能完成的事情。结果杀鸡要去用牛刀。

自己维护了一堆服务器节点,这些节点都是维护的人访问速度最快的节点啊,并不适用于每一个人。就像我这里不能访问114.114.114.114一样。

很多人都是拿来使用,并不关心这里面的实现细节。
以为他们用了什么什么dnsmasq很牛逼的技术,减少了上游服务器的访问频次,做到加速的功能。

殊不知他们应用的加速模块,可能每天都在减速。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-5-6 07:26 | 显示全部楼层
zhea55 发表于 2020-5-5 19:50
从原理来分析,这种方式,应该是最高效的。

因为公共dns本来就具备向客户端发送最优节点的功能,利用 ...

感谢认真回复我,我个人使用了很长一段时间,我的感受就是没有什么作用。不感觉何谓防污染,何谓加速。因为我本身没有dns问题需要解决。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-6-29 19:47 | 显示全部楼层
感谢分享

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2020-10-16 23:41 | 显示全部楼层
那效果如何嘛。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2021-11-20 08:57 | 显示全部楼层
请问大佬,smartdns的ipset如何配置
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-24 04:11

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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