关于 Clash DNS 的几个问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
journalist
V2EX    DNS

关于 Clash DNS 的几个问题

  •  
  •   journalist 2023-07-13 20:36:24 +08:00 14717 次点击
    这是一个创建于 868 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我希望 Clash:

    1. 遇到需要代理的域名,使用代理服务器请求 DNS 。
    2. 遇到直连的域名,使用系统默认或者某个指定的服务器。
    3. 遇到基于 IP 的规则,使用系统默认或者某个指定的服务器。

    我不需要靠 Clash 应对 DNS 污染,能不能直接关闭内置的 DNS ?

    dns: enable: false 

    另外,在使用 TUN 模式时,是否必须开启 DNS ,为什么?

    TUN 模式的参数 dns-hijack 通常被设置为 any:53,作用是什么?

    22 条回复    2024-12-13 12:05:47 +08:00
    mohumohu
        1
    mohumohu  
       2023-07-13 20:50:26 +08:00
    你这需求单独跑一个 DNS 服务更直接清晰,clash 的 DNS 并没有太多自定义的选项。
    Rookie01
        2
    Rookie01  
       2023-07-13 21:29:57 +08:00   1
    借楼同问,有没有什么办法让 Hosts 文件的优先级拉到最高,而不让 Clash 等代理工具覆盖 DNS ?
    我有几个域名需要修改 Hosts ,总是被覆盖,或者有没有类似的工具之类的……
    journalist
        3
    journalist  
    OP
       2023-07-13 21:30:52 +08:00 via iPhone
    @mohumohu 你说的很对,我就是用了 mosdns 才问这个问题
    missdeer
        4
    missdeer  
       2023-07-13 21:58:12 +08:00 via Android
    Kanye
        5
    Kanye  
       2023-07-13 22:13:20 +08:00
    无论怎样都要解析一次才能判断这个域名是否需要代理
    journalist
        6
    journalist  
    OP
       2023-07-13 22:33:03 +08:00
    @Kanye 基于域名的规则不用请求两次啊 https://blog.skk.moe/post/what-happend-to-dns-in-proxy/
    Kanye
        7
    Kanye  
       2023-07-13 22:51:38 +08:00
    @journalist 对如果直接把域名写进规则里面,是由代理服务器解析和访问的,所以问题不存在
    y1y1
        8
    y1y1  
       2023-07-13 23:54:50 +08:00
    @journalist 那不就好办了,把走 clash 的分流规则再加到 clash 的规则里面?
    SenLief
        9
    SenLief  
       2023-07-14 00:15:25 +08:00
    clash.meta 内核支持 geosite 域名分流 dns ,可以实现这个功能。
    dode
        10
    dode  
       2023-07-14 00:18:44 +08:00
    套两个 clash 可以吗
    journalist
        11
    journalist  
    OP
       2023-07-14 01:37:48 +08:00
    @SenLief 我不想要分流,我用的规则里面没有 IPCIDR ,只有域名。t/879229 Clash 默认就是远程解析代理域名的。我想搞明白的是,我开内置 DNS ,把 nameserver 设置为本地 DNS ,和直接把内置 DNS 关了有什么区别。
    mritd
        12
    mritd  
       2023-07-14 08:21:10 +08:00 via iPhone
    zbatman
        13
    zbatman  
       2023-07-14 09:54:56 +08:00   2
    rmdbbs
        14
    rmdbbs  
       2023-07-14 10:15:59 +08:00   1
    遇到需要代理的域名,使用代理服务器请求 DNS 。
    ---这个核心是要避免本地 DNS 解析,启用 dns 配置里的 fakeip 参数,或者路由规则对所有 ip 类规则加入 no-resolve 参数

    遇到直连的域名,使用系统默认或者某个指定的服务器。
    ---这个使用 meta 的 DNS 某些配置选项可以实现,看下面的例子

    遇到基于 IP 的规则,使用系统默认或者某个指定的服务器。
    ---这个使用 meta 的 DNS 某些配置选项可以实现,看下面的例子

    我不需要靠 Clash 应对 DNS 污染,能不能直接关闭内置的 DNS ?
    ---关闭 Clash 的 DNS ,上述需求应该就没法实现了,关闭后,所有的请求都走 system 的 dns ,且无法配置策略


    clash.meta 的配置例子,供参考:

    dns:
    enable: true
    listen: 0.0.0.0:53
    default-nameserver:
    - 223.5.5.5
    nameserver:
    - tls://8.8.4.4
    - tls://1.1.1.1
    nameserver-policy:
    "geosite:cn,private":
    - https://doh.pub/dns-query
    - https://dns.alidns.com/dns-query

    看你说的你的规则里没有 IPCIDR ,只有域名,那就意味着,只有两种情况
    1 ,交给代理的域名,默认都会去代理上进行 dns 解析,这个不需要设置
    2 ,直连的域名,由你的配置文件决定,配置文件设置的 dns 策略,那就由规则决定(如上例子),如果开启 dns 开关,那就交给系统

    上面的设置之后,在处理你那些要直连的域名的时候就会进入这个逻辑:
    1 ,看看域名是不是 cn 或者 private 的,如果是,交给 dns.alidns.com 和 doh.pub 解析;
    2 ,如果不是,那么交给 tls://8.8.4.4 和 tls://1.1.1.1 解析
    3 ,解析好了后,用得到的 ip 直连出去。
    结束

    简单将就是你关了内置 DNS 开关,所有的请求都到了 system 的 dns ,就做不到“按需解析” ,
    rmdbbs
        15
    rmdbbs  
       2023-07-14 11:14:39 +08:00
    @rmdbbs 写错了一句话“如果开启 dns 开关,那就交给系统”

    应该是 如果没有开启 dns 开关
    journalist
        16
    journalist  
    OP
       2023-07-14 15:52:23 +08:00
    @rmdbbs 实际上我说的需求可能说复杂了,所有没有命中代理域名规则的,都走系统默认 DNS 就可以了,不需要 nameserver-policy ,分流已经由自建 DNS 处理好了。https://github.com/Fndroid/clash_for_windows_pkg/wiki/DNS%E6%B1%A1%E6%9F%93%E5%AF%B9Clash%EF%BC%88for-Windows%EF%BC%89%E7%9A%84%E5%BD%B1%E5%93%8D 根据这篇文章,下面这个配置和关闭内置 DNS ,直接设置系统 DNS 没有什么差别。

    dns:
    enable: true
    enhanced-mode: fake-ip
    nameserver:
    - "自建 DNS"
    SenLief
        17
    SenLief  
       2023-07-14 16:00:05 +08:00 via iPhone
    @journalist 你的想法错了,你是想 clash 只做代理吧?然后利用 上游 dns 分流。这个是可以的,但是有个问题就是上游 dns 服务器需要代理才能解析 1.1.1.1 这类的 dns 服务,所以又在套娃了。
    x308989414q
        19
    x308989414q  
       2023-08-16 10:24:56 +08:00
    @rmdbbs 你好,想请教一下。
    dns:
    enable: true
    enhanced-mode: fake-ip
    nameserver:
    - https://dns.alidns.com/dns-query
    fallback:
    - https://1.1.1.1/dns-query
    - https://dns.google/dns-query

    上面的配置 clash tun 模式下,处理那些直连的域名的逻辑是不是如下?
    1 ,dns 并发请求 nameserver 、fallback ,取 nameserver 中返回的最快的 ip ,判断这个 ip 是不是中国的,
    如果是,直连
    2 ,如果不是,那么取 fallback 中最快的 ip ,直连。
    journalist
        20
    journalist  
    OP
       2023-08-27 06:19:25 +08:00
    goldensmithereen
        21
    goldensmithereen  
       349 天前
    @mritd 404 了,跑路了?
    goldensmithereen
        22
    goldensmithereen  
       349 天前
    @journalist 全是 404
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2937 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 14:01 PVG 22:01 LAX 06:01 JFK 09:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86