V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CodeWind
V2EX  ›  DNS

不懂就问,用运营商 dns 和阿里腾讯的有什么区别?为什么要 smartdns or mosdns?

  •  
  •   CodeWind · 11 小时 23 分钟前 via Android · 1584 次点击

    去年买了小主机,在虚拟机中装了 openwrt ,折腾了 smartdns ,搞了梯子。 今天偶然把 smartdns 停了,在 openwrt 中给客户端分配了运营商的 dns (安徽移动 202.138.180.2 ),发现国内外网站都正常。 突然觉得之前白折腾了,而且从 ping 值上运营商 dns 服务器地址延迟只有 4ms ,阿里腾讯等基本需要 20ms 左右,一定意义上认为可以说明网络质量优于阿里腾讯公共 dns 。 所以问问大家,有必要折腾 smartdns ,mosdns 这些吗?优势在哪?防 dns 劫持?

    第 1 条附言  ·  55 分钟前
    谢谢大家,我还是把 DNS 解析改成 223.5.5.5 ,然后国外的走远程 DNS
    31 条回复    2025-12-11 11:23:33 +08:00
    ysxb1145
        1
    ysxb1145  
       11 小时 21 分钟前 via Android
    没有 doh 或者 dot 的话公共 DNS 备用就够了,除非劫反诈的但这种情况肯定是污染换什么都没用。普通人日用运营商 DNS 肯定是最优解
    CodeWind
        2
    CodeWind  
    OP
       11 小时 18 分钟前 via Android
    @ysxb1145 没什么特殊需求,也就上上谷歌,youtube ,github 啥的
    yooomu
        3
    yooomu  
       11 小时 12 分钟前
    最优解就是运营商 dns ,最多搞个本地 dns 缓存,上游设置运营商 dns 。国外网站直接域名分流走代理在远端解析了。smartdns ,mosdns 就是瞎折腾,纯自嗨
    Kale
        4
    Kale  
       10 小时 59 分钟前
    @yooomu #3 确实,深有体会。
    datocp
        5
    datocp  
       10 小时 56 分钟前 via Android
    移动专线牛了,
    连.gov 都能不通,
    最后加了阿里 dns 。
    povsister
        6
    povsister  
       10 小时 52 分钟前
    https://github.com/Scighost/Starward/issues/1683

    为什么?这周新鲜遭遇供你参考
    WizardLeo
        7
    WizardLeo  
       8 小时 9 分钟前
    保证 dns 来源干净,防止被运营商 dns 劫持到反诈。
    一般支持加密 dns 的插件/软件都支持诸如乐观缓存、分流、dns 规则之类的高级功能,所以顺便搞了。
    starknovon
        8
    starknovon  
       6 小时 43 分钟前 via iPhone
    有些省运营商的 dns 会劫持,像我本地电信的用 GitHub 会出问题没法看 raw 的列表链接,不过我会给他单独指定阿里 dns 。其他的都用运营商 dns ,因为他们是最快的
    CKR
        9
    CKR  
       3 小时 55 分钟前 via iPhone
    国内就用运营商的 dns 就行了
    mytsing520
        10
    mytsing520  
    PRO
       3 小时 9 分钟前
    使用公共 DNS 主要用于防止本地反诈误伤你想要访问的一些网站,不过这个目的不适用于某些省份。

    就 ping 延迟来看,公共 DNS 不如运营商递归 DNS 。两者工作原理有差别:
    1) 运营商 DNS 及其上游就在本地或本省省会;
    2) 公共 DNS 是先根据路由规则就近分发到最近的机房,机房根据你客户端的公网 IP 地址出口去请求部署于本地区或本省同运营商的上游服务器出口,最后将该出口获取的解析结果返回给你(截至 2025 年 12 月,当前国内主要公共 DNS 出口最丰富的为阿里云公共 DNS ,腾讯云公共 DNS 则通过 EDNS Client subnet 扩展机制弥补了出口分布的不足)。

    就一般使用而言,如果你特别在意延迟,使用运营商 DNS 当然比公共 DNS 要快。
    evill
        11
    evill  
       3 小时 0 分钟前
    个人认为是基本素质问题,阿里腾讯属于公司对劫持还是敏感的,容易被喷
    运营商几乎就是想劫持就劫持
    liuyee
        12
    liuyee  
       2 小时 56 分钟前
    如果只用 DNS 做域名解析,建议用 adguardHome ,把运营商和公共的都加进去,并行请求,adh 会优选最快的。mosdns 是 DNS 分流和防止 DNS 污染和泄露。
    opengps
        13
    opengps  
       2 小时 56 分钟前
    以前的宽带到期了,他会直接在你访问 http 网页时候弹窗提醒你。(没错,注入脚本到 http 的页面里,甚至用过长城宽带在我自己网站上给我直接注入垃圾广告)
    evill
        14
    evill  
       2 小时 54 分钟前
    @opengps 在没有 https 的年代,曾经我这的运营商还干过给你每个页面注入 foot 广告
    AkinoKaedeChan
        15
    AkinoKaedeChan  
       2 小时 45 分钟前 via Android
    我从来不用运营商 DNS ,很多连 RFC 都不遵循,比方说有的不按 TTL 瞎缓存,然后域名的所有者要刷新缓存得给他们付钱。
    julyclyde
        16
    julyclyde  
       2 小时 31 分钟前
    @evill foot 广告能看见么?好多网页都拉不到最下面
    Danswerme
        17
    Danswerme  
       2 小时 26 分钟前
    @evill
    @julyclyde 3G 时代广东联通用流量上网时,所有的网页右下角都会加一个悬浮球,点进去是联通的各种服务,感谢 https 的全面普及,否则不知道我们还要被运营商恶心到什么时候。
    lepig
        18
    lepig  
       2 小时 24 分钟前
    大部分人其实是享受折腾的过程,折腾后的成就感

    就像奖励自己的时候一样,享受的是过程。完事后,也就那么回事
    Panameragt
        19
    Panameragt  
       2 小时 22 分钟前
    能提出这个问题说明你使用本地运营商 dns 是最优解
    EyebrowsWhite
        20
    EyebrowsWhite  
       1 小时 59 分钟前 via iPhone
    正确的顺序应该是,一开始用运营商的,后面发现有些网站有问题,一通调查是 DNS 的锅,然后换公共 DNS ,后面明白了 DNS 是明文,有隐私问题,开始用 DoH 等等,再后面发现公共 DNS 解析个别网站还是有问题,开始尝试用 MosDNS 转发到 1.1.1.1 等

    你没有经历这一系列过程,一步到位了,自然就觉得没用。受影响的只是很少的网站,而且毫无疑问运营商 DNS 最快
    aladdinding
        21
    aladdinding  
       1 小时 50 分钟前
    运营商经常污染 dns 比如 github
    Ipsum
        22
    Ipsum  
       1 小时 33 分钟前 via Android
    GitHub 经常 127.0.0.1 ,而且其他网站也有污染,并且没有缓存。
    m1nm13
        23
    m1nm13  
       1 小时 17 分钟前
    以下解释我的理解不代表实际实现:
    楼上有人说到基于域名分流远端解析,但是很多国外小网站,包括 V2EX 的域名基本都不在分流列表里面.那如何决定是否要进行远端解析? 如果所有域名都走远端解析那你可能上一个 B 站都卡. 所以大部分软件的实现都是: 先用默认 DNS 解析一下,如果 IP 是国外的话 ,再把这个域名发给远端重新解析. 这个流程就有一个问题: 如果一个域名既有国内 IP 又有国外 IP 那必然走国内(比如 steam cdn 之类的), 如果一个域名被特意污染指向了一个不存在的地址或者国内的地址,那你怎么也不会送往远端解析.
    所以这些 DNS 解决一个问题: 防止默认 DNS 也就是运营商 DNS 污染国外网站的解析结果. 不过阿里云之类的 DNS 又是 QOS 偶尔也有污染. 也不是什么好选择. 至于好选择, 我也没搞懂, 毕竟要一个国内能直连的"公正"的 DNS 可能只有漏网之鱼能做到
    digimoon
        24
    digimoon  
       1 小时 14 分钟前
    国内常用网站用国内 dns ,其他全部用隧道国外 dns+ecs
    dmanbu
        25
    dmanbu  
       1 小时 12 分钟前
    那是你不知道以前作过的恶,别说运营商 DNS ,当年 114DNS 作恶现在还有多少人知道?
    lns103
        26
    lns103  
       1 小时 3 分钟前
    在我这里,阿里腾讯 DNS 不会跳转反诈
    Jacksu
        27
    Jacksu  
       58 分钟前
    1 、你看到正常是因为你用了科学上网插件,这些插件都会重置需要代理的网站的 IP 地址( sniffing 功能),也就是你 DNS 填啥都无所谓的。
    2 、smartDNS 的用处主要是同时向多个上游发送请求,然后测速,最终选择最快的那个 IP
    3 、mosdns 主要是强大和细节的分流策略,因为 1 的缘故,很多人用不到它的分流。但我像我这种科学上网插件完全不插上 DNS 的情况就很有用了。
    cslive
        28
    cslive  
       58 分钟前
    @opengps #11 长城宽带深有体会,我还以为电脑中毒了,后面排查了一圈换了阿里 dns 嵌入式广告没了
    jujusama
        29
    jujusama  
       53 分钟前
    只能说明你没有这方面的需求,通常来说国内域名请求到阿里 DOH ,国外域名就走专线到 Google
    sxszzhrrt
        30
    sxszzhrrt  
       47 分钟前
    我目前的情况就是需要这个:我目前接入了多根线,分别是 CERNET 、联通、移动、电信,同时对这几个进行多拨,有的运营商还不止一根线,IPV6 全走 CERNET ,IPV4 一部分走 CERNET 一部分走公共运营商,这个时候除了做必要的分流外域名解析是会出问题的,因为对于多栈网站比如 bilibil ,这几种线路都是支持的,如果用公共的 DNS 解析就会发生冲突进而造成 DNS 解析速度非常慢,有的时候几秒都解析不出来,而且还不是最优的。这种情况下外挂一个 MOSDNS/SMARTDNS 并且增加一部分简单的规则就可以完美解决上面的问题。
    Shiroka
        31
    Shiroka  
       7 分钟前 via iPhone
    没有问题那是最好,但如果出问题了,阿里云腾讯云起码还可以提个工单,isp dns 是很难联系到的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5508 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:31 · PVG 11:31 · LAX 19:31 · JFK 22:31
    ♥ Do have faith in what you're doing.