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

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

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

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

    defaw
        1
    defaw  
       277 天前
    不是,clash 保存了你局域网里所有它能拦截到的明文 dns 查询的结果,它会对比 ip 去反查出域名,当然如果一个 ip 对应了多个域名(比如不同的域名用了同一家 cdn),那就只能退化到 geoip 去判断了。你只要把需要代理的设备的 dns 设置成 clash 的 ip ,clash 在大部分情况下就能通过域名分流。
    shuiguomayi
        2
    shuiguomayi  
    OP
       277 天前 via iPhone
    @defaw 之前没在文档里找到这个知识点。朋友是看代码的? 多谢
    dbak
        3
    dbak  
       276 天前
    要开启 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
       276 天前
    @dbak ,多谢。另外,我解决了另外一个坑,就是 OS 必须要新一点,我在 debian 9 上踩了坑,因为不支持 nftables ,换到 debian 12 就好了,我用的 mihomo ,配置跟上面的一样。 感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.