‹ 返回笔记 Esc·

Mihomo / Clash 问题与修复

使用 clash 时部分域名无法访问 在网络中增加跳过代理的域名 --- Clash 规则 DOMAIN 精准匹配 testflight.apple.com 域名 DOMAIN-SUFFIX 匹配所有…

使用 clash 时部分域名无法访问

在网络中增加跳过代理的域名

1# 如果你还想排除 .com.cn、.net.cn 等,也同样被 .cn 覆盖。
2*.cn
1chinaccs.cn,*.chinaccs.cn,ctcdn.cn,*.ctcdn.cn

Clash 规则

1rules:
2  - DOMAIN,testflight.apple.com,🔰国外流量
3  - DOMAIN-SUFFIX,feedly.com,DIRECT
4  - DOMAIN-KEYWORD,aria2,DIRECT
5  - IP-CIDR,3.123.36.126/32,🔰国外流量,no-resolve
6  - IP-CIDR6,2001:b28:f23d::/48,🔰国外流量,no-resolve
7  - GEOIP,CN,DIRECT
8  - MATCH,⚓️其他流量

DOMAIN 精准匹配 testflight.apple.com 域名

DOMAIN-SUFFIX 匹配所有 feedly.com 结尾的域名(包括子域名)

DOMAIN-KEYWORD 匹配包含 aria2 关键字的域名

IP-CIDR 将 IP 地址 3.123.36.126 的流量按“🔰国外流量”处理,不进行 DNS 解析(no-resolve

IP-CIDR6 匹配 IPv6 地址范围 2001:b28:f23d::/48 的流量,并按“🔰国外流量”策略处理,也不进行 DNS 解析

GEOIP,CN 匹配所有 IP 属于中国(CN)地理区域的流量

MATCH 默认匹配所有没有被前面规则捕获的流量,并使用“⚓️其他流量”策略处理


Clash 解析无法走本地 hosts

/etc/hosts 生效但 Clash 拦截了 DNS

1. 添加直连规则(DIRECT)

1rules:
2  - DOMAIN-SUFFIX,example.com,DIRECT
3  - MATCH,Proxy
  • 此规则确保所有以 .example.com 结尾的域名,包括 hr.example.com,都不走代理,实现直连访问。

2. 确保 DNS 解析使用本地 /etc/hosts

1dns:
2  enable: true
3  enhanced-mode: redir-host   # 支持 HOSTS 映射
4  listen: 0.0.0.0:53
5  nameserver:
6    - 114.114.114.114        # 公共DNS
7    - 223.5.5.5
8  fallback:
9    - 8.8.8.8
10  fallback-filter:
11    geoip: true
12    ipcidr:
13      - "192.168.0.0/16"
  • 确认你的系统 DNS 指向 Clash(如 127.0.0.1:53),并重启 Clash,使其优先读取 /etc/hosts。

如果第 2 条不行,则看一下 UI 界面的 Clash 配置

Clash Verge - 设置 - DNS 覆写 - 使用 Hosts ✅|使用系统 Hosts ✅


TUN 模式

“TUN”的全称是 network TUNnel,即“网络隧道”的意思,它是一种由操作系统内核提供的虚拟网卡,与物理网卡类似,但专注于第 3 层(网络层/IP)数据包的处理。TUN 模式会 创建一个虚拟网卡(如 tun0, utun0),并通过系统路由重定向所有 TCP/UDP 流量到这个网卡,由 Clash 虚拟网卡拦截并处理,实现真正的系统级透明代理。

可以不用开启系统代理(System Proxy)

此模式需要应用有管理员权限

在虚拟网卡(TUN模式)下,通常无法直接开启热点供其他设备访问。

功能/影响 System Proxy(系统代理) TUN 模式
流量拦截方式 设置 IE/WinHTTP 代理,需应用配合支持 通过虚拟网卡 + 路由全部拦截
代理对象 浏览器、支持代理的应用 全系统 App、包括游戏、终端等
TCP/UDP 支持 通常仅支持 HTTP(S),难以拦截 UDP 流量 支持 TCP 和 UDP
安装/配置复杂度 简单易操作,但不鲁棒 需安装 Service Mode、配置防火墙
与 EasyConnect 等 VPN 兼容性 冲突高,被动设置系统代理会被检测 不修改系统代理,兼容性更高
  1. 开启 TUN 模式后,关闭 System Proxy
  • Clash for Windows / Verge / Meta 都提供独立开关。启用 TUN 时,不要勾选系统代理
  • 如有服务检测系统代理,将找不到,冲突消除。
  1. 注意防火墙设置
  • Windows TUN 模式需安装 “Service Mode”,并允许 Clash core 放通虚拟网卡流量。
  • macOS/Linux 同样需安装虚拟网卡服务,并在系统设置中允许路由。
  1. TUN 模式更适合不支持代理设置的应用
  • 如游戏、UWP 应用、git、命令行工具等,System Proxy 模式下常“走不出”

总结

  • TUN 模式本质上可替代系统代理:不再需要设置 IE/系统代理;
  • 更加底层透明,能够劫持所有流量(包括不遵守系统代理的软件和 UDP 流量);
  • 对冲 EasyConnect 类型软件冲突也更友好;
  • 使用时只需开启 TUN、安装虚拟网卡服务、关闭系统代理即可。

GeoData

GeoData 主要包括两个部分

  1. GeoIP(IP 地址段) 包含各个国家、地区、服务提供商的 IP 地址段数据,例如:
  • 哪些 IP 属于中国(CN);
  • 哪些 IP 属于美国(US);
  • 哪些 IP 属于 Facebook、Google、Microsoft 等。
  1. GeoSite(域名列表) 包含特定国家或服务的域名规则,例如:
  • Google 所有相关域名;
  • Netflix、YouTube、Telegram 等服务的域名列表;
  • 国内网站域名(如 bilibili、百度、淘宝等);

为什么要定期更新 GeoData?

GeoData 数据是不断变化的

1- IP 分配会调整;
2- 网站域名结构可能变更;
3- 新的服务和应用上线;

如果不更新,可能导致:

1- 原本应该直连的流量走了代理(浪费带宽);
2- 原本应该走代理的请求被直连(访问失败或被墙);
3- 无法访问新服务(例如最近更新的流媒体网站);

使用 Tun 连接手机热点无法访问网络

在 Clash 客户端中,启用 TUN 模式后,也同时打开“系统代理(System Proxy)”或 HTTP/SOCKS 代理功能