abcbuzhiming

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

  •  
  •   abcbuzhiming · Dec 12, 2020 · 13105 views
    This topic created in 2001 days ago, the information mentioned may be changed or developed.
    这两天反复的为住处的网络问题折腾,之前以为是 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 识别你的请求来源。

    我该咋办了呢?是不是我的使用姿势不太对。感觉这年头上个网还真折腾。
    58 replies    2020-12-21 15:40:13 +08:00
    INTEL2333
        1
    INTEL2333  
       Dec 12, 2020 via Android
    分流
    境内 cdn 域名走运营商 dns,剩余走 tls://8.8.8.8
    分流的上游配置我只做了 adguardhome 的
    有人要的话回复下,我看到了就发
    dot2017
        2
    dot2017  
       Dec 12, 2020
    冒着被喝茶的风险自搭
    wd
        3
    wd  
       Dec 12, 2020 via iPhone
    用一些可以分流的 dns
    abcbuzhiming
        4
    abcbuzhiming  
    OP
       Dec 12, 2020
    @INTEL2333
    @wd
    所谓分流的意思是什么,根据域名来判断走运营商 DNS 还是走公共 DNS 吗?
    Pandaa
        5
    Pandaa  
       Dec 12, 2020
    @INTEL2333 大佬发一下配置看看
    Smash
        6
    Smash  
       Dec 12, 2020 via Android
    @wd #3 @INTEL2333 #1 我需要,被投毒整得焦头烂额。
    Xymmh
        7
    Xymmh  
       Dec 12, 2020   ❤️ 1
    个人推荐使用 OneDNS ( www.onedns.net/personal ) 提供的公共 dns 服务 ,

    这个 dns 是我研究网络以来,发现的解析结果最接近运营商的 dns,并且没有过度污染。
    INTEL2333
        8
    INTEL2333  
       Dec 12, 2020 via Android
    @abcbuzhiming 对的
    境内 cdn 域名走境内的 dns
    其他域名尽量走无污染的并支持 ECS 特性的 dns

    我境内 cdn 域名用的 223.6.6.6
    因为是在 vps 上跑,用 119.29 会导致百度和七牛之类的 cdn 不是最优解(吐槽一下百度和七牛的 edns
    wd
        9
    wd  
       Dec 12, 2020 via iPhone
    @abcbuzhiming #4 就是可以国内域名走一个 dns 国外域名走另一个
    abcbuzhiming
        10
    abcbuzhiming  
    OP
       Dec 12, 2020
    @INTEL2333 问题在于,那么多域名,我怎么知道哪些域名是国内的,哪些是国外的,还会说哪里有维护一个列表,定时更新就行了?
    anguiao
        11
    anguiao  
       Dec 12, 2020 via Android
    @dot2017 本地起一个啥事没有,没必要在公网上搭。
    m4d3bug
        12
    m4d3bug  
       Dec 12, 2020 via Android
    overture 自建,云服务器供应商限制特定网段白名单,china ip 文本塞进去
    imn1
        13
    imn1  
       Dec 12, 2020
    其实快慢更多是取决 dns cache 吧,只是首次查询慢而已,我是接管了 TTL,改为 20 小时,一天内变 ip 的那些网站不是我关心的
    INTEL2333
        14
    INTEL2333  
       Dec 12, 2020 via Android
    @abcbuzhiming github 有人维护 list
    CrazyBoyFeng
        15
    CrazyBoyFeng  
       Dec 12, 2020
    clowwindy 的 chinadns 我还在用。感觉挺好用的,兼顾速度和准确性。
    同时向本地和加密两个 dns 服务器发出查询请求,本地 dns 返回境内 ip 就用本地的,本地 dns 返回境外 ip 就抛弃等待加密 dns 返回结果。
    leavic
        16
    leavic  
       Dec 12, 2020
    这年头不折腾还怎么上网。
    Lightbright
        17
    Lightbright  
       Dec 12, 2020 via Android
    用国内的安全 dns 呗,阿里腾讯都有提供
    jameslucas
        18
    jameslucas  
       Dec 12, 2020   ❤️ 1
    长期实践,chinadns 还是最佳的方案。
    CrazyBoyFeng
        19
    CrazyBoyFeng  
       Dec 12, 2020
    话说楼主你那里的运营商 dns 对 t.cnurl.cn 的解析结果正确吗?如果不正确的话,建议你直接弃用运营商 dns,用阿里 dns 或者腾讯 dns
    loukky
        20
    loukky  
       Dec 12, 2020 via Android
    把上游 DNS 设置成无污染 DNS,比如中科大的
    bilibilifi
        21
    bilibilifi  
       Dec 12, 2020 via iPhone
    搭建一个 unbound 的 DNS over TLS
    NSAgold
        22
    NSAgold  
       Dec 12, 2020 via Android
    smartdns 上游红鱼
    465456
        23
    465456  
       Dec 12, 2020
    广州电信,遇到某些网站,国外的 DNS 是投毒(劫持),国内公共的 DNS 是污染( DNS 服务器的 DNS 本身就是错,没有劫持),别问我怎样知道,dns tracert 查到线路的
    465456
        24
    465456  
       Dec 12, 2020
    clash 的 rule 模式上网不香吗? DNS 染污就染污,国外域名全部走梯子,照样可以打开国外网站
    Kiriya
        25
    Kiriya  
       Dec 12, 2020
    pi hole 或 adguard home 可以解决
    zro
        26
    zro  
       Dec 12, 2020
    在海外的 VPS 搭了不对外公开的 ADGuard Home,设的上游是 Google TLS,本地 dnsmasq 带上 add-subnet,用了小半年了,暂时只发现阿里系和 B 站不能愉快地用 Google DNS,只好设成国内某家支持 ECS 的 DoT,试了一小些其他域名跟本地 ISP DNS 对比,IP 数据都一样。。
    Darkatse
        27
    Darkatse  
       Dec 12, 2020   ❤️ 1
    用支持 EDNS 的无污染 DNS,原理就是请求 DNS 的时候带上源地址信息,DNS 服务器会返回源地址就近的节点,避免了国内有节点但返回的地址却是国外的情况
    可以看看 NextDNS 的关于 EDNS 的文章
    https://help.nextdns.io/t/m1hmv04/what-is-edns-client-subnet-ecs
    ericbize
        28
    ericbize  
       Dec 12, 2020
    家里用 mikrotik, 默认策略本地电信 dns, 特殊域名直接 劫持 走 vpn
    ericbize
        29
    ericbize  
       Dec 12, 2020
    然后特殊域名 自己要用什么就定义, 用 layer 7 识别
    lishen226
        30
    lishen226  
       Dec 12, 2020
    连不上就打洞
    zro
        31
    zro  
       Dec 12, 2020
    @bilibilifi #21 用了一阵子,unbound 为了安全,连 cname 都要查一遍才有数据。。
    IDAEngine
        32
    IDAEngine  
       Dec 12, 2020 via iPhone
    @465456 都是劫持 53 端口到当地运营商提速 dns
    bclerdx
        33
    bclerdx  
       Dec 12, 2020
    @465456 你广州电信用哪家的 DNS ?运营商分配的还是第三方的?
    LukeChien
        34
    LukeChien  
       Dec 13, 2020 via Android
    走非标端口的 DNS 可以解决大部分问题
    lostberryzz
        35
    lostberryzz  
       Dec 13, 2020
    clash 可以配置 dot 和 doh
    Vegetables
        36
    Vegetables  
       Dec 13, 2020 via Android
    最好的办法还是按照域名分流,国内直接本地 DNS 解析,CDN 就正常了
    INTEL2333
        37
    INTEL2333  
       Dec 13, 2020   ❤️ 1
    @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
        38
    INTEL2333  
       Dec 13, 2020   ❤️ 2
    @GhostTc @Smash 再补充下,虽然说表看着大但响应还是非常快的,对性能要求也挺低的,不会说严重影响性
    至于复制上去嘛,改 yaml 也好,浏览器复制也没问题,手机复制的话 webview 版本尽量高点吧....不然不好复制

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

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

    在防火墙,直接 dnat udp 53, 然后规则加 7 层协议就可以了
    Alwaysonline
        42
    Alwaysonline  
       Dec 13, 2020
    国内 223.5.5.5
    国外强制走 8.8.8.8
    txydhr
        43
    txydhr  
       Dec 13, 2020 via iPhone
    @abcbuzhiming gfwlist 呀,没被封的域名走运营商 dns,被封的走特殊渠道
    justin2018
        44
    justin2018  
       Dec 13, 2020
    no1xsyzy
        45
    no1xsyzy  
       Dec 13, 2020
    “若投毒则返回 127.0.0.1”是稳定现象吗?是的话应该可以在本机上建一个 SNI proxy……
    反正解析到 127.0.0.1 也可以被 SNI proxy 正确重定向 TCP 流量。

    或者写个 DNS 服务器,遇到 127.0.0.1 的时候走其他路线重新来。
    openbsd
        46
    openbsd  
       Dec 13, 2020
    最近投毒有点厉害,是某种攻击吗 ?
    电信自家的 DNS,好几次连百度都打不开
    yyysuo
        47
    yyysuo  
       Dec 13, 2020
    分流+过期缓存
    systemcall
        48
    systemcall  
       Dec 13, 2020
    @openbsd 以前在长城宽带上见过
    是想跳转到别的网站,再给本来要访问的网站加上自己的返利链接。如果你的电脑上面很多广告软件,应该是可以成功跳转的。黑吃黑而已。普通用户,就要用到 OpenWRT+ChinaDNS
    z888888cn
        49
    z888888cn  
       Dec 13, 2020
    以前 GoAgent 里自带的 dns server 分流就很好用。
    z888888cn
        50
    z888888cn  
       Dec 13, 2020
    推荐
    DNS2SOCKS 、pdnsd-TCP
    fengxing
        51
    fengxing  
       Dec 14, 2020   ❤️ 1
    推荐使用 Pcap_DNSProxy,虽然作者删库跑路了,但是可以去下载别人 fork 的内容,我感觉这个是最好用的。
    这个虽然能安装即用,但是有非常非常非常丰富的可设置内容,具体的可以看文档。
    onion83
        52
    onion83  
       Dec 14, 2020 via iPhone
    smatdns 或 dnsmaq 做黑名单分流
    brMu
        53
    brMu  
       Dec 15, 2020 via Android
    阿里云的 DoH+smartdns
    jiub
        54
    jiub  
       Dec 17, 2020 via iPhone
    本地 dns
    FlyingShark
        55
    FlyingShark  
       Dec 18, 2020
    其实 360 的 DOH 服务还行,我知道你们看不上,真的还行
    https://dns.360.cn/dnsPublic.html#course
    465456
        56
    465456  
       Dec 18, 2020
    @IDAEngine 广州电信没有劫持 DNS 加速
    IDAEngine
        57
    IDAEngine  
       Dec 21, 2020 via iPhone
    @465456 有劫持 53 端口到附近的电信 服务器,你 tracker 一下 53 端口的微博 udp 流量就知道了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3201 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 224ms · UTC 03:03 · PVG 11:03 · LAX 20:03 · JFK 23:03
    ♥ Do have faith in what you're doing.