V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
BeliefanX
V2EX  ›  宽带症候群

SmartDNS 真的有用吗?

  •  
  •   BeliefanX · 2020-02-13 19:23:18 +08:00 · 34241 次点击
    这是一个创建于 1085 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这几天待在家出不去,折腾一下软路由,看了下 SmartDNS 的原理,产生了一个疑问,特来请教。

    通常情况下,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是怎么处理的?是直接响应最先得到的 IP 么?

    SmartDNS 的原理是同时测试几个 IP 向终端解析延时最低的那个 IP,如果终端只是简单的响应最先得到的 IP,那 SmartDNS 确实是有用的,如果是同时响应几个 IP,或者终端也选则响应最快的 IP,那 SmartDNS 岂不是很鸡肋。。。

    32 条回复    2020-03-20 14:36:42 +08:00
    cwbsw
        1
    cwbsw  
       2020-02-13 19:59:22 +08:00
    怎么检测延时最低的 IP,如果不回应 ping 怎么办。
    brMu
        2
    brMu  
       2020-02-13 20:05:35 +08:00 via Android
    smartdns 的精髓并不是在这个,国内 dns 返回的结果都没什么大问题。
    重点是 smartdns 替换 dnsmasq+pdsnd。
    chinesestudio
        3
    chinesestudio  
       2020-02-13 21:27:32 +08:00 via Android
    国内速度还是快的 如果有能力 结合 pihole 更好玩
    ozOGen
        4
    ozOGen  
       2020-02-13 21:34:30 +08:00
    smartdns 介绍里是说只返回一个最快 IP,so。。。
    flowercoder
        5
    flowercoder  
       2020-02-13 21:37:44 +08:00
    这玩意访问国外应该有些作用,要是国内网站的话,几十 ms,根本感觉不出来
    varint
        6
    varint  
       2020-02-13 22:02:39 +08:00 via iPhone
    最终选择了 chinadns-ng
    yutian33
        7
    yutian33  
       2020-02-13 22:12:10 +08:00
    如果运营商没搞 dns 劫持的话,国内网站基本差不多 ~
    coolmint
        8
    coolmint  
       2020-02-13 22:14:07 +08:00 via Android
    正好我也刚用了两天 Adguard Home 哈哈哈,不过也就是随便折腾下
    wtks1
        9
    wtks1  
       2020-02-13 22:29:51 +08:00 via Android
    对我而言,这个的作用就是防止一个 DNS 挂了之后全家上网异常,以及缓存与更新访问过的域名这两个功能
    tvbear
        10
    tvbear  
       2020-02-14 00:04:45 +08:00 via iPhone
    开了 smartdns 我的 google 就被污染 不知咋回事
    BeliefanX
        11
    BeliefanX  
    OP
       2020-02-14 00:12:21 +08:00 via iPhone
    就是通过 ping 检测的
    BeliefanX
        12
    BeliefanX  
    OP
       2020-02-14 00:13:29 +08:00 via iPhone
    嗯 这个我也做了 国外强制走谷歌 DNS
    BeliefanX
        13
    BeliefanX  
    OP
       2020-02-14 00:14:26 +08:00 via iPhone
    嗯嗯 我主要就是想加速国外访问速度
    BeliefanX
        14
    BeliefanX  
    OP
       2020-02-14 00:15:14 +08:00 via iPhone
    我把 ad home 设置成 smartdns 的上游服务器了
    BeliefanX
        15
    BeliefanX  
    OP
       2020-02-14 00:15:52 +08:00 via iPhone
    上游服务器 没强制走代理吧
    loli
        16
    loli  
       2020-02-14 00:23:02 +08:00
    想问下为什么不自带一些上游服务器,非要用户手动去填?
    看了一圈几乎所有人设置的上游 DNS 都是那几个,国内阿里,百度,114,dnspod.国外谷歌等一些。
    prondtoo
        17
    prondtoo  
       2020-02-14 00:39:27 +08:00   ❤️ 2
    @tvbear 首先,这个东西不是用来防止污染的,被污染的地址你就算加了 DoH,DoT 等等的服务器进 smartdns 的列表去,你还是会被污染,因为本地运营商给你的假地址响应时间更更快。

    其次,对于电信或者联通用户,使用本地运营商的 DNS 解析给你的结果,永远是最靠近你服务器,你用阿里,百度,114,dnspod 等这些第三方 DNS,给你解析到的 CDN 地址不一定离你最近。

    那么这个软件有什么用呢?其实最大的受益人群就是移动,铁通,广电存在流量穿透的运营商用户。他们自己的 DNS 并不能一定解析到给你 ping 最低的服务器。

    最后回答第一个问题,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是随机去选一个来作为访问地址的。
    BeliefanX
        18
    BeliefanX  
    OP
       2020-02-14 10:26:46 +08:00
    @loli 这个我就不太清楚了。。。 提供自由度吧 第三方的 DNS 服务器还是很多的
    BeliefanX
        19
    BeliefanX  
    OP
       2020-02-14 10:28:28 +08:00
    @prondtoo 谢谢 你最后一个问题的答案 解答了我的疑惑,如果是随机访问,那在理论上 SmartDNS 还有点用~
    BeliefanX
        20
    BeliefanX  
    OP
       2020-02-14 10:28:49 +08:00
    @cwbsw 就是通过 ping 检测的
    BeliefanX
        21
    BeliefanX  
    OP
       2020-02-14 10:29:16 +08:00
    @brMu 嗯 我主要也是用来解析国外网站的
    BeliefanX
        22
    BeliefanX  
    OP
       2020-02-14 10:29:37 +08:00
    @chinesestudio 我去了解一下 Pihole
    BeliefanX
        23
    BeliefanX  
    OP
       2020-02-14 10:30:31 +08:00
    @coolmint 我 SmartDNS 的上游服务器,都是我自己搭的 Adguard home~
    tia
        24
    tia  
       2020-02-14 11:52:03 +08:00
    @cwbsw #1
    @prondtoo #17

    可以选择 tcp ping
    tia
        25
    tia  
       2020-02-14 11:54:06 +08:00
    @prondtoo #17 而且一般情况下被污染的 ip 都是 FB/谷歌等已经被屏蔽的 ip
    tia
        26
    tia  
       2020-02-14 11:55:11 +08:00
    @prondtoo #17 其次,你也可以选择把你的运行商分配的 dns 填入列表,这样测试下来的 ip 就肯定是最靠近你的
    tia
        27
    tia  
       2020-02-14 11:56:49 +08:00
    @prondtoo #17 最后,当你电脑填写架设了 smartdns 的路由器的网关地址时,你的电脑只会得到一个最快的 ip,这点你可以去 smartdns 页面详细了解下 https://github.com/pymumu/smartdns
    tia
        28
    tia  
       2020-02-14 12:05:41 +08:00
    用了一段时间,总体来看,smartdns 唯一的缺点就是对 ARM 处理器不怎么友好,因为对比 dnsmasq+pdnsd,cpu 占用从 0.1 上升到 0.5,对于对路由器性能比较敏感的人来讲可能不怎么舒服,在 x86 下并没有什么影响。

    关于域名污染、解析出来的 ip 没本地 dns 快这两问题,可以在 dns 上游列表里面填写你的本地 dns 和国外 dns ( TLS ),并且开启 tcp ping 的测速方式,这样,在你路由器上搭了透明代理的前提下,不存在污染问题和解析 ip 慢的问题,而且实际用下来我发现我用本地 dns,和用 smartdns 对比下来解析到同城的 cdn 概率更高
    cwbsw
        29
    cwbsw  
       2020-02-14 12:05:59 +08:00
    @prondtoo 移动也是要用 ISP 的 DNS 才能确保正确解析,况且移动用第三方 DNS 也没用,移动会劫持 DNS 查询。
    bclerdx
        30
    bclerdx  
       2020-02-15 11:17:36 +08:00 via Android
    @cwbsw 怎么个劫持法?
    jaleo
        31
    jaleo  
       2020-02-29 22:47:26 +08:00
    我是在路由器里( openwrt )安装了 smartdns+chinadns-ng
    smartdns 做 chinadns-ng 的国内 DNS 国外可信 DNS 用 openwrt 里集成的 PASSWALL
    smartdns 里配置 2 个运营商 dns+2 个公共 dns+1 个国内防污染 dns (中科大) 获取的国内 IP 是本地延迟最低的
    tril
        32
    tril  
       2020-03-20 14:36:42 +08:00
    smartdns 功能很多,可以当 dns 缓存,可以当 dns 优选器,可以提供 dns 冗余,还可以把 udp/tcp 的 dns 请求转成 udp/tcp/tls/https 请求,一个工具多种功能,不同的人用途也不同。如果这些功能你都用不到,那 smartdns 对你可能确实没用了………
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1553 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 14:57 · PVG 22:57 · LAX 06:57 · JFK 09:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.