求推荐靠谱的防 dns 污染方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whatsmyip
V2EX    问与答

求推荐靠谱的防 dns 污染方案

  •  2
     
  •   whatsmyip 2018-05-02 22:47:33 +08:00 31974 次点击
    这是一个创建于 2727 天前的主题,其中的信息可能已经有所发展或是发生改变。

    入了一个 Google Home,需要配置路由器全局,用的树莓派

    也用 redsocks 转发了流量

    然而,DNS 解析这一块还没解决,结果老是被污染 返回了一堆 fb 的 ip

    试了一些方案,试图绕过坑爹的 UDP

    henices/Tcp-DNS-proxy 这个,似乎是基于 TCP 协议,但是不知道为什么,访问日志里依旧出现 69.171.247.32 这种 IP

    还试了腾讯的 httpdns,吹的天花乱坠,但是返回结果依旧是被污染的

    还剩下一个 dns.google.com 基于 https,理论上没有问题,可是没有找到转换的代码

    要是没有其他方案的话,就要自己造轮子了。。。

    第 1 条附言    2018-05-03 10:47:01 +08:00
    解决啦

    问题在于 home 使用了内置的 DNS,所以无论我在路由器上怎么设置都无效

    转发 53 端口流量,强制走路由器 DNS,可以解决这个问题

    ```bash
    iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5353
    iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 5353
    ```
    第 2 条附言    2018-07-31 10:03:15 +08:00
    看来 DNS over HTTPS ( DoH )是未来的趋势啊,浏览器已经在开始原生支持了,期待 Chrome 的更新。

    图解基于 HTTPS 的 DNS

    http://www.infoq.com/cn/articles/a-cartoon-intro-to-dns-over-https
    第 3 条附言    2019-04-05 19:18:49 +08:00
    最后是基于 cloudflare 提供的 1.1.1.1 DoH 服务搭建了一套全局透明代理网关。

    过程可见 https://blog.newnius.com/setup-global-proxy-with-raspberry-pi.html
    54 条回复    2019-09-01 15:19:26 +08:00
    Cipool
        1
    Cipool  
       2018-05-02 22:54:34 +08:00 via Android   1
    直接换用位于国内的无污染 DNS 试试
    @googlehosts #防污染 DNS
    主要服务器:140.143.226.193 (非实时查询上游,5 分钟缓存)
    备用服务器:120.132.13.50 (实时查询上游,无缓存)
    whatsmyip
        2
    whatsmyip  
    OP
       2018-05-02 22:57:08 +08:00
    @Cipool 我在教育网,试过中科大的,no luck
    love4taylor
        3
    love4taylor  
    PRO
       2018-05-02 23:04:51 +08:00 via Android   1
    如果你到 Google Public DNS 不丢包 不被完全劫持的话 可以试试 chinadns2, 利用 EDNS 防抢答...
    LazyZhu
        4
    LazyZhu  
       2018-05-02 23:07:10 +08:00   2
    rosu
        5
    rosu  
       2018-05-02 23:07:47 +08:00 via Android
    有点疑问,既然是全局,为什么还会被污染?
    whatsmyip
        6
    whatsmyip  
    OP
       2018-05-02 23:13:57 +08:00
    @rosu 网络所在层不一样,先解析得到 IP,然后才转发
    hzqim
        7
    hzqim  
       2018-05-02 23:16:48 +08:00   1
    假设你用的是 OpenWRT,而且已经有了 socks5 ;
    来一个 dns2socks 走 socks5 向 8.8.8.8 询问 ip,还支持 CDN。
    采用支持 regex 的 dnsmasq 通过关键字(而不是域名)走 dns2socks5 进行解析,国内的域名走 ISP 分配的 DNS 解析,因为免去了维护网址的步骤,特方便。
    这个方案,只要 socks5 能通就能正确解析,若 socks5 不通,防污染也失去了意义。

    目前最满意的方案!
    rosu
        8
    rosu  
       2018-05-02 23:19:31 +08:00 via Android
    @whatsmyip 这样子的话...不是和没有梯子没什么区别吗?不知道我有没有理解错。

    因为 DNS 本身也会被投毒的,如果不在本地 PAC 做判断,DNS 也不一定能返回正确结果给你的吧?
    LazyZhu
        9
    LazyZhu  
       2018-05-02 23:23:02 +08:00   1
    @hzqim
    还有一种方法
    只要 DNS 支持 ECS( https://en.wikipedia.org/wiki/EDNS_Client_Subnet),就可以指定 ECS 为代理 IP 也可以获得最好的解析.
        10
    Cipool  
       2018-05-02 23:26:56 +08:00 via Android
    @whatsmyip 中科大支持 5353 端口解析
    我发的那两个支持 2333 端口解析
    换用特殊端口应该可行吧
    t123yh
        11
    t123yh  
       2018-05-02 23:32:26 +08:00 via Android   1
    hzqim
        12
    hzqim  
       2018-05-02 23:32:56 +08:00
    @LazyZhu #9 谢谢指点,在你身上学到很多,感恩!
    chotow
        13
    chotow  
       2018-05-02 23:38:54 +08:00 via Android
    歪个楼,为什么被污染的,都会解析到 FB ?
    whatsmyip
        14
    whatsmyip  
    OP
       2018-05-02 23:40:15 +08:00
    @Cipool 重置了一下,依旧。。。
    songz
        15
    songz  
       2018-05-02 23:46:49 +08:00   1
    树莓派弄个 pi hole
    MacTavish123
        16
    MacTavish123  
       2018-05-03 00:12:04 +08:00 via Android   1
    @rosu 印象里这种都是内置 8.8.8.8,而不是用路由器分配的。所以几种路由器插件都有一个 DNS 劫持功能
    EsWann
        17
    EsWann  
       2018-05-03 00:25:51 +08:00 via Android   1
    纯净无污染 DNS: https://pdomo.me
    bazingaterry
        18
    bazingaterry  
       2018-05-03 00:29:55 +08:00 via iPhone   2
    GitHub 搜 overture
    chenyx9
        19
    chenyx9  
       2018-05-03 00:37:18 +08:00 via Android   1
    我只是推断,不敢肯定。很可能如 16 楼所讲需要劫持 8.8.8.8 到路由,我的 Chromecast 就是这么干的。
    maowu
        20
    maowu  
       2018-05-03 01:15:08 +08:00 via Android   1
    8.8.8.8 支持 tcp 嘛,考虑一下自己劫持 dns 查询丢到隧道发出去
    ysc3839
        21
    ysc3839  
       2018-05-03 01:21:02 +08:00 via Android
    @whatsmyip no luck 是什么意思?还是被污染?
    isbase
        22
    isbase  
       2018-05-03 01:38:46 +08:00 via Android   1
    ChinaDNS
    zhengzhou518
        23
    zhengzhou518  
       2018-05-03 03:2210 +08:00
    @LazyZhu 哥们你说的这种方式是否有设置的视频教程啊,对于新手来说
    wzw
        24
    wzw  
       2018-05-03 07:40:24 +08:00
    哪个域名被污染了, 我怎么很久没这样的感觉了
    jasonyang9
        25
    jasonyang9  
       2018-05-03 09:03:50 +08:00
    @rosu #8 是的啊,各个层面都可以干扰你
    keramist
        26
    keramist  
       2018-05-03 09:13:45 +08:00 via Android   1
    前端加个 k2 刷 padavan 强制路由解析搞定
    lbp0200
        27
    lbp0200  
       2018-05-03 10:14:43 +08:00 via Android   1
    PRCDNS
    目前正在搞优化版
    catinred
        28
    catinred  
       2018-05-03 10:22:42 +08:00   1
    HandSonic
        29
    HandSonic  
       2018-05-03 10:23:16 +08:00   1
    现成的方案太多了啊,dnsproxy、DNSCrypt、Pcap_DNSProxy、ChinaDNS 等等……
    des
        30
    des  
       2018-05-03 10:29:42 +08:00 via Android
    @chotow 同问,是不是干掉这些就好了
    jhytxy
        31
    jhytxy  
       2018-05-03 10:30:32 +08:00 via iPhone   1
    我记得 koolshare 的固件里都集成好了的...开箱即用
    whatsmyip
        32
    whatsmyip  
    OP
       2018-05-03 10:32:19 +08:00
    @xiaozecn
    @chenyx9
    @keramist

    确实是因为 home 内置了 DNS 导致我在路由器上怎么设置都不行,而手机和电脑明明都是可以的

    强制转发 53 端口流量,解决了这个问题

    ```bash
    iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
    iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
    ```
    whatsmyip
        33
    whatsmyip  
    OP
       2018-05-03 10:34:17 +08:00
    @Cipool 你给的 DNS 应该是可以的,问题在于 home 内置了 DNS,没有用路由器的设置
    whatsmyip
        34
    whatsmyip  
    OP
       2018-05-03 10:38:10 +08:00
    @LazyZhu 这个很给力
    whatsmyip
        35
    whatsmyip  
    OP
       2018-05-03 10:39:30 +08:00
    @hzqim 这个我找到的文档都没有。。。
    whatsmyip
        36
    whatsmyip  
    OP
       2018-05-03 10:40:49 +08:00   1
    @ysc3839 对,home 用了内置的 DNS,路由器上设置的无效
    ETiV
        37
    ETiV  
       2018-05-03 10:41:44 +08:00   1
    https://1.1.1.1

    前两天不是新出了个吗~
    whatsmyip
        38
    whatsmyip  
    OP
       2018-05-03 10:44:52 +08:00   1
    @chotow
    @des

    不一定是 fb,有时候是 twitter,感觉是随机,之前就被指到了国外某私人服务器

    我记得 chinadns 似乎就是这个原理?发现给出了错误 ip 就丢弃这个

    但是 现在一直在升级,很难预先知道返回的是不是正确的
    presoul
        39
    presoul  
       2018-05-03 10:50:37 +08:00 via Android
    用 cloudflare websocket 翻墙有过解析到 fb
    一般没感觉过劫持~
    feather12315
        40
    feather12315  
       2018-05-03 11:01:34 +08:00 via Android
    推荐这个教程,直接全局 UDP 流量
    https://www.zfl9.com/ss-redir.html
    lbp0200
        41
    lbp0200  
       2018-05-03 11:09:37 +08:00
    https://github.com/aarond10/https_dns_proxy
    这个应该是最符合你的解决方案了
    des
        42
    des  
       2018-05-03 11:18:08 +08:00 via Android
    @whatsmyip 原来是只有固定四个,现在随机的池子多吗?
    hicdn
        43
    hicdn  
       2018-05-03 13:23:41 +08:00
    https://github.com/aa65535/openwrt-dns-forwarder + https://github.com/aa65535/openwrt-chinadns
    稳定运行一年左右了,自动区分境内外地址, ss+dns-forwarder+chinadns

    下面是作者几年前写的方案 @aa65535
    https://sourceforge.net/p/openwrt-dist/wiki/DNS/
    faicker
        45
    faicker  
       2018-05-03 21:00:10 +08:00
    @faicker 支持 cdn,解决了 twitter 返回 fb 地址这样的问题。配合 dnscrypt-proxy。
    tzungtzu
        46
    tzungtzu  
       2018-05-21 14:28:26 +08:00
    请问楼主你的 calendar 可以正常使用不,我的好像有问题,别的一般问题可以正常使用。
    whatsmyip
        47
    whatsmyip  
    OP
       2018-05-21 22:39:10 +08:00
    @tzungtzu 我没有用到这个功能。。。应该没有问题吧
    tzungtzu
        48
    tzungtzu  
       2018-05-22 10:00:01 +08:00
    @whatsmyip 你一般用哪些功能呀~
    whatsmyip
        49
    whatsmyip  
    OP
       2018-05-27 10:05:56 +08:00
    @tzungtzu v2 的提醒功能似乎有点问题。一般就是 "Hey Google, play some music"、"Hey Google, news today",最近在折腾跟米家互动
    tzungtzu
        50
    tzungtzu  
       2018-05-27 10:34:05 +08:00
    @whatsmyip 我现在也是 music 为主, 连 yeelight 是不是米家要用美国或者新加坡服务器?
    whatsmyip
        51
    whatsmyip  
    OP
       2018-05-27 11:42:54 +08:00
    @tzungtzu 这个应该无所谓吧,就是延迟高点
    wzw
        52
    wzw  
       2018-06-27 07:08:50 +08:00
    @Cipool #1 140.143.226.193 这个 dns 谁做的呀
    Cipool
        53
    Cipool  
       2018-06-27 12:21:16 +08:00 via Android
    @wzw 已经注明了 tg 群组 @googlehosts 的维护者
    mattx
        54
    mattx  
       2019-09-01 15:19:26 +08:00
    @Love4Taylor 你说的 chinadns2 是 梅林科学上网工具的吧?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5518 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 07:09 PVG 15:09 LAX 00:09 JFK 03:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86