概念

Clash 的增强模式是一个高级功能,它允许Clash直接操作系统级的网络流量,而不仅仅是代理应用程序层的HTTP/HTTPS流量。原理是通过一个虚拟网卡接管所有流量,仅在必要时开启此功能。

在 Clash 中,增强模式(enhanced-mode​)主要有两种选择:redir-host​ 和 fake-ip​。

  1. redir-host​ 模式

​redir-host​ 模式是通过重定向主机名来解析 DNS 的。它会截获 DNS 请求并直接解析成目标 IP 地址,而不是使用假的 IP 地址。这种方式通常兼容性更好,不会干扰实际的 IP 地址。

  1. ​fake-ip​ 模式

​fake-ip​ 模式会返回一个假的 IP 地址(在配置中定义的范围内,如 198.18.0.1/16​),然后在连接时再进行实际的 DNS 解析。这种方法可以加速 DNS 解析,因为它不需要立即进行真实的 DNS 查询。

问题

在使用内网vpn时,如果开启了增强模式的fake-ip​ 模式,会导致内网dns解析不到。因为该模式会直接修改系统的dns配置,如下:

解决方案

修改对应clash配置的yaml文件

  1. 使用redir-host​ 模式

     enhanced-mode: redir-host
    
  2. 添加过滤的域名

    dns:
      enable: true
      listen: '127.0.0.1:53'
      default-nameserver:
        - 119.29.29.29
        - 223.5.5.5
      enhanced-mode: fake-ip
      fake-ip-range: 198.18.0.1/16
      fake-ip-filter:
        - '*.example.cn' # 将特定域名排除在 fake-ip 之外
      nameserver:
        - 'https://doh.pub/dns-query'
        - 'https://dns.alidns.com/dns-query'
        - 'https://1.1.1.1/dns-query'
      fallback:
        - 'https://doh.dns.sb/dns-query'
        - 'https://dns.cloudflare.com/dns-query'
        - 'https://dns.twnic.tw/dns-query'
        - 'tls://8.8.4.4:853'
      fallback-filter:
        geoip: true
        ipcidr:
          - 240.0.0.0/4