V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NoInternet
V2EX  ›  宽带症候群

openclash 如果开全局代理大陆直连,是不是会暴露。

  •  
  •   NoInternet · 285 天前 · 4214 次点击
    这是一个创建于 285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大佬们,问个问题,如果 openclash 的规则写 省略了 rule-providers 部分,有个 cncidr 的 ip 规则集和直连的 domain 规则集。 rule 规则

    • RULE-SET,direct,DIRECT
    • RULE-SET,cncidr,DIRCET
    • GEOIP,CN,DIRECT
    • MATCH,daili 是不是在到 MATCH 之前所有域名都要先用国内 DNS 解析一遍不匹配的才走代理。 那我不是访问的任何非 CN 网站都曝光了? 有什么解决方法吗? 先谢谢大佬
    31 条回复    2024-03-23 22:05:13 +08:00
    mschultz
        1
    mschultz  
       285 天前
    在任何 CIDR 规则之前先把(主流的需要代理的)国外网站用域名规则匹配,这样(至少提前被域名匹配的这部分网站)不会触发本地 DNS 查询导致 DNS Leak ,可以部分解决问题

    例如

    - RULE-SET,gfwlist,PROXY,no-resolve
    - RULE-SET,cncidr,DIRCET
    - MATCH,PROXY
    journalist
        2
    journalist  
       285 天前
    是的。只要遇到 IP 规则且没有 no-resolve ,就会向 DNS 上游发出请求。总体上应当先写域名规则,再写 IP 规则。
    Jirajine
        3
    Jirajine  
       285 天前
    又一个 clash 的受害者。
    这是 clash 系默认、惯常的行为,小白用户不懂也没有被明确告知。
    SenLief
        4
    SenLief  
       285 天前
    你可以选择 dns 上游直接用国外的 dns ,就是慢了点。
    465456
        5
    465456  
       285 天前
    速度跟隐私,二者选一个,俺选择速度
    CharonVIII
        6
    CharonVIII  
       285 天前
    你用的是 redir-host 还是 fake-ip ?
    据我所知,如果用的 redir-host ,在匹配到域名规则走代理之前也会进行一次 DNS 解析,这是必须的。

    而 fake-ip 规则虽然也会先进行一次 DNS 查询,只不过 clash 内核会返回一个保留地址,然后如果匹配到域名规则要走代理的话就不会进行真正的本地 DNS 查询。

    当然,fake-ip 模式也有其他的问题,比如 P2P 受限制、VPN 业务可能受限制、没办法在 Dnsmasq 下用黑白名单等等
    dude4
        7
    dude4  
       285 天前
    这就是通常说的 DNS 泄露
    dude4
        8
    dude4  
       285 天前
    @CharonVIII 新版本的 openclash 据说没有原生的 redirect 模式了,都是 fake-ip ,我觉得全局用对普通用户确实太困难,还是旁路由比较好,dnsmasq 在主路由用 mac 方式指定网关,有需要的设备才走旁路由,这样 P2P 不走旁路由、VPN 在主路由,两者都不受影响
    NoInternet
        9
    NoInternet  
    OP
       285 天前
    @mschultz no-resolve 我看一般都写在 IP 规则里啊。我试试
    NoInternet
        10
    NoInternet  
    OP
       285 天前
    @Jirajine 太复杂了,看来还得好好研究
    NoInternet
        11
    NoInternet  
    OP
       285 天前
    @CharonVIII 用的 redir-host ,规则里匹配的也要先走本地 dns 解析一次?这也太坑了。
    NoInternet
        12
    NoInternet  
    OP
       285 天前
    @SenLief 我还不会设置,我要再看看
    NoInternet
        13
    NoInternet  
    OP
       285 天前
    @465456 兼得最好啊
    mschultz
        14
    mschultz  
       285 天前 via iPhone
    @NoInternet #9 找一个类似 gfwlist 的在线规则,作为 rule-provider 最好支持 behavior: “domain” 的,可以不写 no-resolve

    现在 GitHub 上用的人比较多的那些规则好像大多都考虑到这个问题了。国外网站一般都是域名规则,不会随便包含无“no-resolve”标记的 IP 规则
    dodakt
        15
    dodakt  
       284 天前
    实在不放心 开个 Adguard Home 把 gfwlist 屏蔽掉不就 ok 了
    NoInternet
        16
    NoInternet  
    OP
       284 天前
    @dodakt 又出现高科技了,这个不是去广告的吗
    dodakt
        17
    dodakt  
       284 天前
    @NoInternet 它去广告原理不就是拦截解析嘛
    MrKrabs
        18
    MrKrabs  
       283 天前
    我想问问有空统计你 dns 记录干嘛不直接看你出口流量啊、、
    y1y1
        19
    y1y1  
       283 天前 via iPhone
    就是从前往后优先匹配
    unifly
        20
    unifly  
       282 天前
    @Jirajine 真是有 clash 的地方就有你啊,ip 类规则加上 no-resolve ,不进行 DNS 解析防止泄露,这是必要操作,任何研究过 clash 规则的都知道,何来受害一说?
    Jirajine
        21
    Jirajine  
       281 天前
    @unifly #20 我回这个帖子只是因为 OP 发现了一个一般的 clash 目标用户不应该在乎的问题,在乎但不了解、也没有被告知的小白用户自然就是受害者。
    如果你看过代码你就会知道加上这个也不能防止,并且这并不是“必要操作”,这不是预期的使用方式,大部分用户都使用的默认的、推荐的、托管的配置。
    你与其研究规则,不如去研究一下规则实现的代码。
    unifly
        22
    unifly  
       281 天前
    @Jirajine
    1 、小白不会用造成问题,竟然是工具的责任?你可真会找茬;
    2.还是那个问题:你到底看的是哪个 clash 核心的代码?哪个版本的?具体哪个模块的?或者请具体告知他会漏规则的简要原因。
    我用的 clash-meta ,写好规则,没遇到过 dns 泄露,用个工具还要研究它的代码,我没那闲工夫,也没那技术,难道用个软件我还要研究它的代码才行?你喜欢研究代码麻烦具体给讲讲,看你说 clash 代码不行好多个帖子了,就是不具体说明,你讲的有道理自然会采纳,而不是动不动来个“受害者”吓唬人。
    Jirajine
        23
    Jirajine  
       281 天前
    @unifly #22 clash 有告知小白使用默认推荐配置会曝光自己访问的网站吗?
    同样,它也没有告知你写好的规则会在有些情况下不会生,也没有告知你不生效后会发生什么。是的,不看代码就用造成的问题这是你自己的责任。
    我只是提醒部分潜在受害者去阅读代码自己判断,没有义务帮你判断或者让你采纳。如果你不愿意看代码,不要再回复没有根据的内容以免误导其他人。
    unifly
        24
    unifly  
       281 天前 via Android
    @Jirajine 跟你讨论太困难了,字敲了一大堆,就是不告诉代码具体出了啥问题,对我问的问题避而不谈,网上你这种太多了,一到问题实质就言左右,岔话题,爱说不说,以后只要让我看见你在装逼那危言耸听,下次我继续怼!哈哈
    Holodusk
        25
    Holodusk  
       281 天前
    就算你前面写了域名规则,遇到 UDP 还是会漏。这就是我转 sing-box/xray 的原因,DNS 更灵活。
    unifly
        26
    unifly  
       281 天前
    @Holodusk 哦? UDP 怎么个漏法? singbox 你规则写不好、系统不设置好一样漏好么
    Holodusk
        27
    Holodusk  
       280 天前
    @unifly 不就 UDP 域名请求这一种漏法?还能怎么漏? sing-box 的 DNS/路由模块分离,能直接通过 rule-set 指定 DNS
    unifly
        28
    unifly  
       280 天前 via Android
    @Holodusk 人家 clash meta 也支持 dns 规则好么,各种规则任君选择。
    https://wiki.metacubex.one/config/dns/
    NoInternet
        29
    NoInternet  
    OP
       280 天前
    几天没看那么多帖子,继续学习,谢谢楼上大佬们。
    yxmyxmyyy
        30
    yxmyxmyyy  
       279 天前
    直接用 clash meta 的 dns 分流就行了
    dns:
    enable: true
    prefer-h3: false
    ipv6: true
    nameserver:
    - '8.8.8.8#🚀 节点选择'
    nameserver-policy:
    'geosite:cn,stram@cn,apple@cn,google@cn': '180.76.76.76'
    proxy-server-nameserver:
    - 223.5.5.5
    NoInternet
        31
    NoInternet  
    OP
       279 天前
    @yxmyxmyyy 谢谢大佬,我看看怎么写
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2830 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.