现在折腾修改公共 DNS ( DNSPod 119.29.29.29/AliDNS 223.5.5.5 之类的)到底还有没有意义?老帖(
https://www.v2ex.com/t/714955 )报告 raw 仓库地址
raw.githubusercontent.com 在三大运营商 DNS 已经被投毒,但国内公共 DNS 问题还不大,所以这样看来改为公共 DNS 还可以避免一些运营商的小操作。但我今天自己测试发现 DNSPod 解析改地址也是返回无效 ip 了,只有 AliDNS 还正常:
; <<>> DiG 9.10.6 <<>> @
223.5.5.5
raw.githubusercontent.com; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1932
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;
raw.githubusercontent.com. IN A
;; ANSWER SECTION:
raw.githubusercontent.com. 707 IN A 185.199.109.133
raw.githubusercontent.com. 707 IN A 185.199.110.133
raw.githubusercontent.com. 707 IN A 185.199.108.133
raw.githubusercontent.com. 707 IN A 185.199.111.133
;; Query time: 52 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: Sat Jul 17 17:41:08 CST 2021
;; MSG SIZE rcvd: 107
----------------------------------------------------------------------------------------------------------------------
; <<>> DiG 9.10.6 <<>> @
119.29.29.29
raw.githubusercontent.com; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16038
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;
raw.githubusercontent.com. IN A
;; ANSWER SECTION:
raw.githubusercontent.com. 3600 IN A 0.0.0.0
;; Query time: 55 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: Sat Jul 17 17:39:26 CST 2021
;; MSG SIZE rcvd: 70
Surge 的一个好处是自己写的 DNS client 可以绕开运营商的 53 端口抢答实现走公共 DNS 。不过目前的网络环境下,我明白更多时候只能是走白名单代理开完,只是在 surge 配置文件改参数时还在犹豫怎么操作 DNS 。Surge 据称是实现类似于 dnsmasq 的同时并发询问各 DNS 服务器以最快 respond 的为结果。不过如上所示,我自己做了实验后有个小小的疑问:抓包显示 surge 响应 baidu 用的是 DNSPod,但用 dig
baidu.com 却可以发现明显本地运营商响应得要比 DNSPod 快得多( 9ms 对 57ms ):
; <<>> DiG 9.10.6 <<>>
baidu.com;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3161
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;
baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 308 IN A 39.156.69.79
baidu.com. 308 IN A 220.181.38.148
;; Query time: 9 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Jul 17 17:47:48 CST 2021
;; MSG SIZE rcvd: 59
------------------------------------------------------------
; <<>> DiG 9.10.6 <<>> @
119.29.29.29
baidu.com; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8538
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;
baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 64 IN A 220.181.38.148
baidu.com. 64 IN A 39.156.69.79
;; Query time: 57 msec
;; SERVER: 119.29.29.29#53(119.29.29.29)
;; WHEN: Sat Jul 17 17:47:24 CST 2021
;; MSG SIZE rcvd: 70
所以实际上是更慢的 DNS query 被采用了?还是说这是个协议误差问题( UDP/TCP ) or 其他因素使 dig 的时间不能反映真实 DNS query 结果。
综上所述,所以现在到底改公共 DNS 有多大意义呢?这么实验和分析下来可能改了公共 DNS 可能还是负优化……(比如解析 baidu 的时候本地运营商 DNS 会把本运营商机房的 ip 放在前而 DNSPod 的优先顺序并不然……)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/790102
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.