有没有办法,即能对抗 DNS 投毒,又能不掉响应速度?

2020-12-12 15:11:31 +08:00
 abcbuzhiming
这两天反复的为住处的网络问题折腾,之前以为是 ipv6 线路问题,等把 ipv6 停掉了,才发现原来我们这本地运营商的 ipv4 DNS,也开始投毒,具体的讲就是某些域名它给你返回 127.0.0.1 。。。这还不是什么特殊网站,只是微软家的一个短地址解析服务,导致 VS 不能更新,给工作带来了极大困扰。

不得已我终于开始上诸如 simple-dnscrypt 这样的 DNS 解析软件,但是我发现上了这类软件后产生了新的问题,首先就是这类软件为了保证效果,是要求你的 DNS 解析都从它这里走,也就是说,适配器里自定义 DNS 必须是 127.0.0.1 。这确实有效的对抗了 DNS 干扰,但是带来一个副作用就是访问网站(尤其是国内网站)的响应和加载速度大大降低。因为以前这些国内网站走运营商 DNS 查询速度是很快的,而现在走 simple-dnscrypt 的话,查询 dns 的结果的延迟可以达到秒级别;还有一个完全没法忍的问题是,走 simple-dnscrypt 的话,国内很多网站的 CDN 加速,就工作不正常了,可以明显的看到浏览器不是访问的最快的 CDN 服务,就导致这类网站的静态资源加载速度比用运营商 DNS 时慢的不止一点。放狗查了一下发现还真有描述这个现象的文章:叫使用公共 DNS 必须付出的代价之一,就是这个 CDN 失效问题,因为公共 DNS 不一定能让 CDN 识别你的请求来源。

我该咋办了呢?是不是我的使用姿势不太对。感觉这年头上个网还真折腾。
11364 次点击
所在节点    宽带症候群
58 条回复
bilibilifi
2020-12-12 19:45:38 +08:00
搭建一个 unbound 的 DNS over TLS
NSAgold
2020-12-12 19:53:42 +08:00
smartdns 上游红鱼
465456
2020-12-12 19:55:18 +08:00
广州电信,遇到某些网站,国外的 DNS 是投毒(劫持),国内公共的 DNS 是污染( DNS 服务器的 DNS 本身就是错,没有劫持),别问我怎样知道,dns tracert 查到线路的
465456
2020-12-12 19:57:47 +08:00
clash 的 rule 模式上网不香吗? DNS 染污就染污,国外域名全部走梯子,照样可以打开国外网站
Kiriya
2020-12-12 20:36:45 +08:00
pi hole 或 adguard home 可以解决
zro
2020-12-12 21:07:16 +08:00
在海外的 VPS 搭了不对外公开的 ADGuard Home,设的上游是 Google TLS,本地 dnsmasq 带上 add-subnet,用了小半年了,暂时只发现阿里系和 B 站不能愉快地用 Google DNS,只好设成国内某家支持 ECS 的 DoT,试了一小些其他域名跟本地 ISP DNS 对比,IP 数据都一样。。
Darkatse
2020-12-12 21:10:33 +08:00
用支持 EDNS 的无污染 DNS,原理就是请求 DNS 的时候带上源地址信息,DNS 服务器会返回源地址就近的节点,避免了国内有节点但返回的地址却是国外的情况
可以看看 NextDNS 的关于 EDNS 的文章
https://help.nextdns.io/t/m1hmv04/what-is-edns-client-subnet-ecs
ericbize
2020-12-12 21:11:20 +08:00
家里用 mikrotik, 默认策略本地电信 dns, 特殊域名直接 劫持 走 vpn
ericbize
2020-12-12 21:11:54 +08:00
然后特殊域名 自己要用什么就定义, 用 layer 7 识别
lishen226
2020-12-12 21:14:34 +08:00
连不上就打洞
zro
2020-12-12 21:14:39 +08:00
@bilibilifi #21 用了一阵子,unbound 为了安全,连 cname 都要查一遍才有数据。。
IDAEngine
2020-12-12 21:32:52 +08:00
@465456 都是劫持 53 端口到当地运营商提速 dns
bclerdx
2020-12-12 22:22:49 +08:00
@465456 你广州电信用哪家的 DNS ?运营商分配的还是第三方的?
LukeChien
2020-12-13 00:47:46 +08:00
走非标端口的 DNS 可以解决大部分问题
lostberryzz
2020-12-13 01:14:32 +08:00
clash 可以配置 dot 和 doh
Vegetables
2020-12-13 08:16:45 +08:00
最好的办法还是按照域名分流,国内直接本地 DNS 解析,CDN 就正常了
INTEL2333
2020-12-13 09:08:55 +08:00
@GhostTc @Smash sorry 鸭,昨天忘记了....
https://www.cattery.work/%E4%B8%8A%E6%B8%B8.txt
list 来自
https://github.com/hq450/fancyss/blob/master/rules/cdn.txt
记得选并行查询并勾选 EDNS
INTEL2333
2020-12-13 09:27:32 +08:00
@GhostTc @Smash 再补充下,虽然说表看着大但响应还是非常快的,对性能要求也挺低的,不会说严重影响性
至于复制上去嘛,改 yaml 也好,浏览器复制也没问题,手机复制的话 webview 版本尽量高点吧....不然不好复制

list 更新时间是 12 月 12 号的,请放心食用

至于分流部分的制作方法嘛
把 list 扒下来
右边添加 /
去回车
在开头加个[/
在末尾加个]tcp://223.5.5.5
cwbsw
2020-12-13 09:56:00 +08:00
@ericbize RouterOS 自带的 DNS Server 现在支持正则匹配转发了。
missdeer
2020-12-13 10:09:11 +08:00
我用 肥猫的大陆域名列表进行分流,适用于 99.99%的情况

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/734783

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX