V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zwyyy456
V2EX  ›  问与答

clash 的 rule-set 匹配不生效

  •  
  •   zwyyy456 · 2023-12-18 18:41:30 +08:00 · 1727 次点击
    这是一个创建于 369 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我使用的是基于 clash.meta 内核的 tpclash ,配置文件是基于 rule-set 编写的,rules 部分的内容如下:

    rules:
      # 开始匹配规则
    
      ## 直连
      - RULE-SET,cndirect,DIRECT
      - RULE-SET,direct,DIRECT
      - RULE-SET,applecn,DIRECT
      - RULE-SET,applications,DIRECT
    
      - RULE-SET,mtracker,mtracker
      - RULE-SET,mpt,mpt
    
      ## geo 直连
      - GEOSITE,cn,DIRECT
      - GEOIP, cn, DIRECT
    
      - RULE-SET,mdirect,mdirect
      - RULE-SET,mproxy,mproxy
    
      # 代理匹配
      - RULE-SET,gscholar,gscholar
      - RULE-SET,openai,openai
      - RULE-SET,microsoft,microsoft
      - RULE-SET,youtube,youtube
      - RULE-SET,google,google
      - RULE-SET,github,github
      - RULE-SET,apple,apple
      - RULE-SET,bili_us,bilius
      - RULE-SET,spotify,spotify
      - RULE-SET,telegram,telegram
      - RULE-SET,emby,emby
      - RULE-SET,gfw,PROXY
      - GEOSITE,geolocation-!cn,PROXY
      - RULE-SET,reject,REJECT
    
      - SRC-IP-CIDR,192.168.6.155/32,DIRECT
      - MATCH,PROXY
    

    但是今天我发现,当我的 mac 用浏览器访问 google 时,并没有匹配到 google 对应的 rule-set ,而是匹配到了最后的 MATCH ,访问 youtube 也没有匹配到 youtube 对应的 rule-set ,不知道有没有 V 友碰到过类似的问题?

    Firefox 和 Edge 浏览器都测试过了,均关闭了安全 DNS 功能。

    webui 中查看连接时,感觉就像域名的访问请求被提前出来了 ip ,clash 只接管了 ip 的请求。

    14 条回复    2023-12-19 09:49:06 +08:00
    devswork
        1
    devswork  
       2023-12-18 18:48:08 +08:00   ❤️ 2
    把 geoip 这一行放倒数第二行
    zwyyy456
        2
    zwyyy456  
    OP
       2023-12-18 18:55:09 +08:00
    @devswork 似乎可以了,能请您解释一下原因吗?
    zwyyy456
        3
    zwyyy456  
    OP
       2023-12-18 19:11:46 +08:00
    @zwyyy456 又不行了。。。
    565656
        4
    565656  
       2023-12-18 20:04:41 +08:00
    用- DOMAIN-KEYWORD,google,google 试试看,我用的是 parser 里面没问题
    EEXII
        5
    EEXII  
       2023-12-18 20:50:51 +08:00
    用的 rule-providers?
    malagebidi
        6
    malagebidi  
       2023-12-18 20:54:35 +08:00
    我的 clash.meta 配置没使用 RULE-SET ,直接 geosite 和 geoip 就行了。
    devswork
        7
    devswork  
       2023-12-18 21:56:37 +08:00
    你的 DNS 配置是什么? clash 上做了劫持了吗,如果你的 DNS 指向不是到 clash 上,而是到了别的 DNS ,那么浏览器会从你设定的 DNS 上直接解析出 IP ,然后对 IP 发起链接,这些链接又会经过 clash (因为 IP 非 CN 地区),对于 clash 角度而言,你的这些 RULE 没什么用,因为到 clash 这里已经都是 IP 的链接了,而不是基于域名,因为 DNS 不是经过 clash 。

    你可以浏览器上安装 SwitchyOmega ,然后在 SO 里把所有的类型的都指向到你的 clash 上,看看是否正常( SO 会接管所有请求包括 DNS 查询)。
    zwyyy456
        8
    zwyyy456  
    OP
       2023-12-18 23:43:21 +08:00
    @devswork clash 上是有做 dns 劫持的,就是有时候日志中能看到是匹配了域名的请求,有时候又变成了全都是 ip 。
    zwyyy456
        9
    zwyyy456  
    OP
       2023-12-18 23:44:03 +08:00
    @EEXII 是的 rule-providers ,rule-providers 应该是正确的。
    zwyyy456
        10
    zwyyy456  
    OP
       2023-12-18 23:46:00 +08:00
    @devswork

    dns 配置如下
    ```yaml
    dns:
    enable: true # 关闭将使用系统 DNS
    prefer-h3: true # 开启 DoH 支持 HTTP/3 ,将并发尝试
    listen: 0.0.0.0:1053 # 开启 DNS 服务器监听
    ipv6: false # 如果需要 ipv6 设置为 true
    default-nameserver:
    # - 192.168.6.1 fakeip 模式不使用内网地址作为 dns
    # defautl dns 需要是纯 IP
    - https://223.5.5.5/dns-query
    - https://1.12.12.12/dns-query
    # - https://doh.pub/dns-query
    # - 223.5.5.5
    # - 1.12.12.12
    enhanced-mode: fake-ip
    fake-ip-range: 198.18.0.1/16
    fake-ip-filter: #这里可以填写不使用 fakeip 的域名
    - "*.jd.com"
    ```
    zwyyy456
        11
    zwyyy456  
    OP
       2023-12-18 23:52:29 +08:00
    还发现了一个现象,我在家里的 windows 的笔记本上 ping tracker.x.com 时,返回的是 fakeip 生成的一个虚假 ip ,而在实验室上 ping tracker.x.com 时,返回的是 tracker.x.com 对应的真实 ip ;
    实验室和家里都有一台运行 tpclash 的 n1 当旁路由,win 和 mac 的网关分别指向了这两台 n1 。
    zwyyy456
        12
    zwyyy456  
    OP
       2023-12-18 23:59:20 +08:00
    家里的主路由是刷了 padavan 的小米,实验室的主路由是刷了 openwrt 的 360t7 ,windows 和 mac 都是网关指向 n1 的 ip ,dns 都是填的 223.5.5.5 和 1.1.1.1 ;根据 tpclash 原先作者的说法,这里这个 dns 只要不填 n1 本身的 ip 就行
    ,所有的 dns 解析都会被运行在 n1 上的 tpclash 劫持。
    israinbow
        13
    israinbow  
       2023-12-19 08:34:43 +08:00 via Android
    geoip 服务挂了, 上次集体跑路的时候一起跑路了, 这条规则删了吧.
    zwyyy456
        14
    zwyyy456  
    OP
       2023-12-19 09:49:06 +08:00
    直接将主路由重置了,现在看起来正常了。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2602 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.