这几天待在家出不去,折腾一下软路由,看了下 SmartDNS 的原理,产生了一个疑问,特来请教。
通常情况下,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是怎么处理的?是直接响应最先得到的 IP 么?
SmartDNS 的原理是同时测试几个 IP 向终端解析延时最低的那个 IP,如果终端只是简单的响应最先得到的 IP,那 SmartDNS 确实是有用的,如果是同时响应几个 IP,或者终端也选则响应最快的 IP,那 SmartDNS 岂不是很鸡肋。。。
这几天待在家出不去,折腾一下软路由,看了下 SmartDNS 的原理,产生了一个疑问,特来请教。
通常情况下,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是怎么处理的?是直接响应最先得到的 IP 么?
SmartDNS 的原理是同时测试几个 IP 向终端解析延时最低的那个 IP,如果终端只是简单的响应最先得到的 IP,那 SmartDNS 确实是有用的,如果是同时响应几个 IP,或者终端也选则响应最快的 IP,那 SmartDNS 岂不是很鸡肋。。。
1
cwbsw Feb 13, 2020
怎么检测延时最低的 IP,如果不回应 ping 怎么办。
|
2
brMu Feb 13, 2020 via Android
smartdns 的精髓并不是在这个,国内 dns 返回的结果都没什么大问题。
重点是 smartdns 替换 dnsmasq+pdsnd。 |
3
chinesestudio Feb 13, 2020 via Android
国内速度还是快的 如果有能力 结合 pihole 更好玩
|
4
ozOGen Feb 13, 2020
smartdns 介绍里是说只返回一个最快 IP,so。。。
|
5
flowercoder Feb 13, 2020
这玩意访问国外应该有些作用,要是国内网站的话,几十 ms,根本感觉不出来
|
6
varint Feb 13, 2020 via iPhone
最终选择了 chinadns-ng
|
7
yutian33 Feb 13, 2020
如果运营商没搞 dns 劫持的话,国内网站基本差不多 ~
|
8
coolmint Feb 13, 2020 via Android
正好我也刚用了两天 Adguard Home 哈哈哈,不过也就是随便折腾下
|
9
wtks1 Feb 13, 2020 via Android
对我而言,这个的作用就是防止一个 DNS 挂了之后全家上网异常,以及缓存与更新访问过的域名这两个功能
|
10
tvbear Feb 14, 2020 via iPhone
开了 smartdns 我的 google 就被污染 不知咋回事
|
11
BeliefanX OP 就是通过 ping 检测的
|
12
BeliefanX OP 嗯 这个我也做了 国外强制走谷歌 DNS
|
13
BeliefanX OP 嗯嗯 我主要就是想加速国外访问速度
|
14
BeliefanX OP 我把 ad home 设置成 smartdns 的上游服务器了
|
15
BeliefanX OP 上游服务器 没强制走代理吧
|
16
loli Feb 14, 2020
想问下为什么不自带一些上游服务器,非要用户手动去填?
看了一圈几乎所有人设置的上游 DNS 都是那几个,国内阿里,百度,114,dnspod.国外谷歌等一些。 |
17
prondtoo Feb 14, 2020 @tvbear 首先,这个东西不是用来防止污染的,被污染的地址你就算加了 DoH,DoT 等等的服务器进 smartdns 的列表去,你还是会被污染,因为本地运营商给你的假地址响应时间更更快。
其次,对于电信或者联通用户,使用本地运营商的 DNS 解析给你的结果,永远是最靠近你服务器,你用阿里,百度,114,dnspod 等这些第三方 DNS,给你解析到的 CDN 地址不一定离你最近。 那么这个软件有什么用呢?其实最大的受益人群就是移动,铁通,广电存在流量穿透的运营商用户。他们自己的 DNS 并不能一定解析到给你 ping 最低的服务器。 最后回答第一个问题,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是随机去选一个来作为访问地址的。 |
22
BeliefanX OP @chinesestudio 我去了解一下 Pihole
|
27
tia Feb 14, 2020
@prondtoo #17 最后,当你电脑填写架设了 smartdns 的路由器的网关地址时,你的电脑只会得到一个最快的 ip,这点你可以去 smartdns 页面详细了解下 https://github.com/pymumu/smartdns
|
28
tia Feb 14, 2020
用了一段时间,总体来看,smartdns 唯一的缺点就是对 ARM 处理器不怎么友好,因为对比 dnsmasq+pdnsd,cpu 占用从 0.1 上升到 0.5,对于对路由器性能比较敏感的人来讲可能不怎么舒服,在 x86 下并没有什么影响。
关于域名污染、解析出来的 ip 没本地 dns 快这两问题,可以在 dns 上游列表里面填写你的本地 dns 和国外 dns ( TLS ),并且开启 tcp ping 的测速方式,这样,在你路由器上搭了透明代理的前提下,不存在污染问题和解析 ip 慢的问题,而且实际用下来我发现我用本地 dns,和用 smartdns 对比下来解析到同城的 cdn 概率更高 |
31
jaleo Feb 29, 2020
我是在路由器里( openwrt )安装了 smartdns+chinadns-ng
smartdns 做 chinadns-ng 的国内 DNS 国外可信 DNS 用 openwrt 里集成的 PASSWALL smartdns 里配置 2 个运营商 dns+2 个公共 dns+1 个国内防污染 dns (中科大) 获取的国内 IP 是本地延迟最低的 |
32
tril Mar 20, 2020
smartdns 功能很多,可以当 dns 缓存,可以当 dns 优选器,可以提供 dns 冗余,还可以把 udp/tcp 的 dns 请求转成 udp/tcp/tls/https 请求,一个工具多种功能,不同的人用途也不同。如果这些功能你都用不到,那 smartdns 对你可能确实没用了………
|