shuiguomayi
V2EX  ›  问与答

clash-premium 或 clash.meta 作为局域网单臂路由时,域名规则是不是全失效了?

  •  
  •   shuiguomayi · Feb 18, 2024 · 1646 views
    This topic created in 841 days ago, the information mentioned may be changed or developed.

    我的理解是,clash-premium 或 clash.meta 在作为单臂路由时,处理的都是 IP 包,所以配置文件里的域名规则都失效,只能依靠 GEOIP 库判断所请求的 IP 是哪里再选择分流,请指教。

    defaw
        1
    defaw  
       Feb 18, 2024
    不是,clash 保存了你局域网里所有它能拦截到的明文 dns 查询的结果,它会对比 ip 去反查出域名,当然如果一个 ip 对应了多个域名(比如不同的域名用了同一家 cdn),那就只能退化到 geoip 去判断了。你只要把需要代理的设备的 dns 设置成 clash 的 ip ,clash 在大部分情况下就能通过域名分流。
    shuiguomayi
        2
    shuiguomayi  
    OP
       Feb 18, 2024 via iPhone
    @defaw 之前没在文档里找到这个知识点。朋友是看代码的? 多谢
    dbak
        3
    dbak  
       Feb 19, 2024
    要开启 tun 和 clash 的 dns 功能并且劫持 53 端口的请求,否则他无法获得 dns 和 ip 的对应关系,就只能按照 ip 做分流了,也可以把 clash 的 dns 作为系统的默认 dns 。
    linux 为宿主机的相关配置如下:
    tun:
    enable: true
    stack: system
    dns-hijack:
    - "any:53"
    auto-route: true
    auto-detect-interface: true

    dns:
    enable: true
    listen: :1053
    ipv6: true
    enhanced-mode: fake-ip
    shuiguomayi
        4
    shuiguomayi  
    OP
       Feb 19, 2024
    @dbak ,多谢。另外,我解决了另外一个坑,就是 OS 必须要新一点,我在 debian 9 上踩了坑,因为不支持 nftables ,换到 debian 12 就好了,我用的 mihomo ,配置跟上面的一样。 感谢。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4216 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
    ♥ Do have faith in what you're doing.