利用谷歌的 dns-over-https 实现无污染 dns

2017-06-04 13:27:00 +08:00
 mheTcQ
谷歌的 dns-over-https 说明在这里
https://developers.google.com/speed/public-dns/docs/dns-over-https

谷歌也提供了网页界面进行 dns 查询
https://dns.google.com/

需要用到的工具
1,dingo 将 dns udp 查询转化成谷歌的 https 查询
( https://github.com/pforemski/dingo )
2,谷歌 IP,查询的速度快慢就取决于它了
3,dnsmasq
4,linux

配置 dnsmasq
port=53
no-resolv
server=127.0.0.1#5353

然后执行 dingo
dingo -port=5353 -gdns:server=<谷歌 IP> -gdns:edns=<本地外网 IP 段> -gdns:sni=dns.google.com

如果想要在后台执行,在上面的命令前加上
screen -dmS dingo


我这边使用的情况还是不错的,至于对 CDN 友好程度,大概跟 8.8.8.8 一样吧,没有好好的对比过。
https://cl.ly/391u2g430242/dig-dns.png

-
29314 次点击
所在节点    DNS
22 条回复
kuoruan
2017-06-04 13:30:24 +08:00
收藏了。
powergx
2017-06-04 13:33:26 +08:00
关键是镜像站点的分配
RqPS6rhmP3Nyn3Tm
2017-06-04 14:08:37 +08:00
感觉查询速度会非常缓慢
skydiver
2017-06-04 14:21:18 +08:00
这跟 dnscrypt 没区别啊
trys1
2017-06-04 14:46:35 +08:00
即使 dns 纯净了,但是有些 ip 还是被墙
pq
2017-06-04 15:05:08 +08:00
@skydiver dnscrypt 的那个服务器列表,我估计国内的运营商也下载了一份,然后针对性地封杀。移动到香港和新加坡的服务节点速度最快,但一用就被封杀,后来换成偏远小国的才能正常使用。

可惜这个 dingo,在 openwrt 官方包仓库里没有。
exkernel
2017-06-04 15:39:17 +08:00
看 PR 有我魔改过的 dingo,支持 SS
mheTcQ
2017-06-04 15:44:33 +08:00
@BXIA 我这里查询 baidu.com 需要的时间 100ms 都不到

@skydiver 这个相当于查询 8.8.8.8,估计比 dnscrypt 对 CDN 友好一些

@trys1 是的,无法访问 IP 被封,或者不使用 HTTPS 的网站
glogo
2017-06-04 16:32:34 +08:00
就是个 dnsproxy
expy
2017-06-04 18:04:15 +08:00
楼上的 SS 好评!懒得搞路由器的本机 53 端口开个 dingo 就行了。
hzqim
2017-06-04 20:50:54 +08:00
既然都用上 dnsmasq,全局只用一个 nameserver 就不合理了
关闭 no-resolv,去掉 server 设置项,默认走 ISP 的 DNS ;
再设置 gfwlist 域名用 dingo 解析,国内国外都兼顾了。
trys1
2017-06-04 21:19:33 +08:00
@mheTcQ 既然不能翻墙,那这套方案有什么用?本来我也想自己写一套纯净 dns 的方案的,但是一想到仅仅是 dns 纯净而已,比如我不能得意地对朋友说“来,用我的 dns,你就能***”,自己的话,本来就有别的流畅方案了,所以我就放弃了这个项目
mheTcQ
2017-06-04 22:13:29 +08:00
@hzqim
@trys1

哈哈,我自己是有用 dnsmasq 配置 hosts 的;至于不支持 https 的网站只能用其他工具了
xx998
2017-06-04 22:33:42 +08:00
既然都用上 dnsmasq 了,那么直接使用个强大的规则不就好了。
https://github.com/sy618/hosts
ma6174
2017-06-04 22:36:35 +08:00
之前用 dnspod 家的 http dns 搞了个类似的服务,在国内速度还是挺快的,带缓存,可以在路由器上跑 https://github.com/ma6174/myhttpdns
cjjdaq
2017-06-07 01:53:56 +08:00
@ma6174 求弄个 c 版的
ma6174
2017-06-08 07:00:21 +08:00
@cjjdaq Go 的交叉编译已经能保证在大多数操作系统和设备上运行了
legend4
2017-06-09 10:50:30 +08:00
dingo 第一个 release 就用过,还是不如 dnscrypt 稳定,dingo 老是几分钟后就中断退出,不知是不是谷哥欠 ip 屏蔽的原因,还有,感觉 dnsmasq 不如 unbound
mheTcQ
2017-06-10 00:36:38 +08:00
@legend4 至今用了一个月,没发现会中断推出,倒是谷歌的 IP 很重要,在电信能用的却不能在联通用,经常提示连接被重置
cjjdaq
2017-06-10 01:32:08 +08:00
tcp 的或快或慢受不了。

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

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

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

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

© 2021 V2EX