这几天待在家出不去,折腾一下软路由,看了下 SmartDNS 的原理,产生了一个疑问,特来请教。
通常情况下,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是怎么处理的?是直接响应最先得到的 IP 么?
SmartDNS 的原理是同时测试几个 IP 向终端解析延时最低的那个 IP,如果终端只是简单的响应最先得到的 IP,那 SmartDNS 确实是有用的,如果是同时响应几个 IP,或者终端也选则响应最快的 IP,那 SmartDNS 岂不是很鸡肋。。。
1
cwbsw 2020-02-13 19:59:22 +08:00
怎么检测延时最低的 IP,如果不回应 ping 怎么办。
|
2
brMu 2020-02-13 20:05:35 +08:00 via Android
smartdns 的精髓并不是在这个,国内 dns 返回的结果都没什么大问题。
重点是 smartdns 替换 dnsmasq+pdsnd。 |
3
chinesestudio 2020-02-13 21:27:32 +08:00 via Android
国内速度还是快的 如果有能力 结合 pihole 更好玩
|
4
ozOGen 2020-02-13 21:34:30 +08:00
smartdns 介绍里是说只返回一个最快 IP,so。。。
|
5
flowercoder 2020-02-13 21:37:44 +08:00
这玩意访问国外应该有些作用,要是国内网站的话,几十 ms,根本感觉不出来
|
6
varint 2020-02-13 22:02:39 +08:00 via iPhone
最终选择了 chinadns-ng
|
7
yutian33 2020-02-13 22:12:10 +08:00
如果运营商没搞 dns 劫持的话,国内网站基本差不多 ~
|
8
coolmint 2020-02-13 22:14:07 +08:00 via Android
正好我也刚用了两天 Adguard Home 哈哈哈,不过也就是随便折腾下
|
9
wtks1 2020-02-13 22:29:51 +08:00 via Android
对我而言,这个的作用就是防止一个 DNS 挂了之后全家上网异常,以及缓存与更新访问过的域名这两个功能
|
10
tvbear 2020-02-14 00:04:45 +08:00 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 2020-02-14 00:23:02 +08:00
想问下为什么不自带一些上游服务器,非要用户手动去填?
看了一圈几乎所有人设置的上游 DNS 都是那几个,国内阿里,百度,114,dnspod.国外谷歌等一些。 |
17
prondtoo 2020-02-14 00:39:27 +08:00 2
@tvbear 首先,这个东西不是用来防止污染的,被污染的地址你就算加了 DoH,DoT 等等的服务器进 smartdns 的列表去,你还是会被污染,因为本地运营商给你的假地址响应时间更更快。
其次,对于电信或者联通用户,使用本地运营商的 DNS 解析给你的结果,永远是最靠近你服务器,你用阿里,百度,114,dnspod 等这些第三方 DNS,给你解析到的 CDN 地址不一定离你最近。 那么这个软件有什么用呢?其实最大的受益人群就是移动,铁通,广电存在流量穿透的运营商用户。他们自己的 DNS 并不能一定解析到给你 ping 最低的服务器。 最后回答第一个问题,我们的手机或者电脑等终端向 DNS 服务器请求一个域名,返回多个 IP 时,终端是随机去选一个来作为访问地址的。 |
19
BeliefanX OP @prondtoo 谢谢 你最后一个问题的答案 解答了我的疑惑,如果是随机访问,那在理论上 SmartDNS 还有点用~
|
22
BeliefanX OP @chinesestudio 我去了解一下 Pihole
|
27
tia 2020-02-14 11:56:49 +08:00
@prondtoo #17 最后,当你电脑填写架设了 smartdns 的路由器的网关地址时,你的电脑只会得到一个最快的 ip,这点你可以去 smartdns 页面详细了解下 https://github.com/pymumu/smartdns
|
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 概率更高 |
29
cwbsw 2020-02-14 12:05:59 +08:00
@prondtoo 移动也是要用 ISP 的 DNS 才能确保正确解析,况且移动用第三方 DNS 也没用,移动会劫持 DNS 查询。
|
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 是本地延迟最低的 |
32
tril 2020-03-20 14:36:42 +08:00
smartdns 功能很多,可以当 dns 缓存,可以当 dns 优选器,可以提供 dns 冗余,还可以把 udp/tcp 的 dns 请求转成 udp/tcp/tls/https 请求,一个工具多种功能,不同的人用途也不同。如果这些功能你都用不到,那 smartdns 对你可能确实没用了………
|