mheTcQ
V2EX  ›  DNS

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

  •  
  •   mheTcQ · Jun 4, 2017 · 30952 views
    This topic created in 3438 days ago, the information mentioned may be changed or developed.
    谷歌的 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

    -
    22 replies  •  2017-12-14 12:57:17 +08:00
    kuoruan
    kuoruan
    Jun 4, 2017
    1
    收藏了。
    powergx
    powergx
    Jun 4, 2017
    2
    关键是镜像站点的分配
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Jun 4, 2017 via iPad
    3
    感觉查询速度会非常缓慢
    skydiver
    skydiver
    Jun 4, 2017 via iPad
    4
    这跟 dnscrypt 没区别啊
    trys1
    trys1
    Jun 4, 2017 via Android
    5
    即使 dns 纯净了,但是有些 ip 还是被墙
    pq
    pq
    Jun 4, 2017
    6
    @skydiver dnscrypt 的那个服务器列表,我估计国内的运营商也下载了一份,然后针对性地封杀。移动到香港和新加坡的服务节点速度最快,但一用就被封杀,后来换成偏远小国的才能正常使用。

    可惜这个 dingo,在 openwrt 官方包仓库里没有。
    exkernel
    exkernel
    Jun 4, 2017
    7
    看 PR 有我魔改过的 dingo,支持 SS
    mheTcQ
    mheTcQ
    OP
    Jun 4, 2017
    8
    @BXIA 我这里查询 baidu.com 需要的时间 100ms 都不到

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

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

    哈哈,我自己是有用 dnsmasq 配置 hosts 的;至于不支持 https 的网站只能用其他工具了
    xx998
    xx998
    Jun 4, 2017 via Android
    14
    既然都用上 dnsmasq 了,那么直接使用个强大的规则不就好了。
    https://github.com/sy618/hosts
    ma6174
    ma6174
    Jun 4, 2017❤️1
    15
    之前用 dnspod 家的 http dns 搞了个类似的服务,在国内速度还是挺快的,带缓存,可以在路由器上跑 https://github.com/ma6174/myhttpdns
    cjjdaq
    cjjdaq
    Jun 7, 2017
    16
    @ma6174 求弄个 c 版的
    ma6174
    ma6174
    Jun 8, 2017❤️1
    17
    @cjjdaq Go 的交叉编译已经能保证在大多数操作系统和设备上运行了
    legend4
    legend4
    Jun 9, 2017 via iPad
    18
    dingo 第一个 release 就用过,还是不如 dnscrypt 稳定,dingo 老是几分钟后就中断退出,不知是不是谷哥欠 ip 屏蔽的原因,还有,感觉 dnsmasq 不如 unbound
    mheTcQ
    mheTcQ
    OP
    Jun 10, 2017
    19
    @legend4 至今用了一个月,没发现会中断推出,倒是谷歌的 IP 很重要,在电信能用的却不能在联通用,经常提示连接被重置
    cjjdaq
    cjjdaq
    Jun 10, 2017
    20
    tcp 的或快或慢受不了。
    firefox12
    firefox12
    Jun 26, 2017 via iPhone
    21
    鸡和蛋的关系 dns.google.com 不能直接访问
    sm1314
    sm1314
    Dec 14, 2017
    22
    @ma6174 麻烦问下 可以在安卓运行吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1481 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 23:23 · PVG 07:23 · LAX 15:23 · JFK 18:23
    ♥ Do have faith in what you're doing.