规则模式、全局模式与 TUN 模式详解
代理客户端的"模式"设置是影响使用体验最关键的配置之一,但很多用户对这三种模式的区别一知半解。本文从原理出发,深入讲解规则模式、全局模式和 TUN 模式的工作机制、适用场景、切换方法以及安全注意事项。
三种模式对比总览
| 维度 | 规则模式(Rule) | 全局模式(Global) | TUN 模式(TUN) |
|---|---|---|---|
| 工作层次 | 应用层(L7) | 应用层(L7) | 网络层(L3) |
| 流量覆盖 | 按规则选择性代理 | 所有代理感知的流量 | 系统全部流量 |
| 国内网站 | 直连(速度快) | 走代理(速度可能变慢) | 根据规则决定 |
| 境外网站 | 走代理 | 走代理 | 根据规则决定 |
| 广告拦截 | 支持(Reject 规则) | 不拦截 | 配合规则支持 |
| 命令行工具 | 通常不覆盖 | 通常不覆盖 | 覆盖(全部流量) |
| 游戏 UDP | 部分支持 | 部分支持 | 完整支持 |
| 权限需求 | 普通用户权限 | 普通用户权限 | 需要管理员权限 |
| 系统影响 | 最小 | 较小 | 较大 |
| 推荐场景 | 日常使用 | 测试 / 特殊需求 | 游戏加速 / 开发调试 |
规则模式(Rule Mode)
工作原理
规则模式是绝大多数用户的默认推荐模式。客户端在接收到网络请求时,会逐条匹配预设的规则列表,根据匹配结果将流量分发到不同的出口:
用户请求 → 规则引擎
├── 匹配规则 1:DOMAIN-SUFFIX,google.com → PROXY
├── 匹配规则 2:DOMAIN-SUFFIX,baidu.com → DIRECT
├── 匹配规则 3:IP-CIDR,192.168.0.0/16 → DIRECT
├── 匹配规则 4:GEOIP,CN → DIRECT
└── 最终规则:MATCH → PROXY(未匹配时的默认处理)规则的类型
| 规则类型 | 示例 | 说明 |
|---|---|---|
DOMAIN | DOMAIN,google.com,PROXY | 精确匹配域名 |
DOMAIN-SUFFIX | DOMAIN-SUFFIX,netflix.com,PROXY | 匹配域名及所有子域名 |
DOMAIN-KEYWORD | DOMAIN-KEYWORD,youtube,PROXY | 包含关键词的域名 |
IP-CIDR | IP-CIDR,8.8.8.8/32,PROXY | 匹配 IP 地址段 |
GEOIP | GEOIP,CN,DIRECT | 按国家/地区 IP 数据库匹配 |
RULE-SET | RULE-SET,gfw,PROXY | 引用外部规则集(如 GFW 列表) |
MATCH | MATCH,PROXY | 最终兜底规则 |
规则模式的优势
- 速度最优:国内流量直连,不消耗代理带宽,访问国内网站和代理前一样快
- 流量节省:只有需要的流量走代理,节省机场套餐流量
- 广告拦截:通过 Reject 策略拦截广告域名
- 透明感知:用户无需手动切换,国内外网站均能自动处理
什么时候规则模式可能失效?
- 规则文件过期,未包含新增的境外域名
- 某些 App 使用了非标准域名或直接使用 IP 连接
- 企业内网地址没有加入直连规则导致内网无法访问
全局模式(Global Mode)
工作原理
全局模式下,所有经过代理客户端的流量都会被发送到选定的代理节点,不再进行规则匹配。
用户请求 → 代理节点 → 目标服务器
(无论是 baidu.com 还是 google.com)适用场景
适合使用全局模式的情况:
- 调试代理连接:测试节点是否真的可用,排除规则干扰
- 访问特殊境内资源:极少数情况下,某些服务需要境外 IP 访问才能正常(如境外公司的国内服务器)
- 临时需求:偶尔需要让全部流量走某个特定地区的 IP
- 规则失效时的应急:规则文件损坏或不更新时,临时切换全局模式保证可用性
全局模式的缺点
- 国内网站(百度、淘宝、B 站)流量经过代理节点绕一圈,速度可能变慢
- 大量消耗机场套餐流量(特别是看 B 站等国内视频平台)
- 部分国内 App 可能因为 IP 地区变化出现功能异常(如地图、外卖定位)
- 不适合长期使用
TUN 模式(TUN Mode)
TUN 模式的本质
TUN(Network Tunnel,网络隧道)是操作系统层面的一种虚拟网络接口技术。客户端创建一个虚拟网卡,操作系统将所有网络流量路由到这个虚拟网卡,再由客户端决定如何处理。
与系统代理的根本区别
系统代理(HTTP/SOCKS 代理)的工作方式:
浏览器/支持代理设置的 App → 读取系统代理设置 → 走代理
命令行工具(curl、git)→ 默认不读系统代理 → 不走代理
游戏客户端 → 通常不读系统代理 → 不走代理TUN 模式的工作方式:
所有 App、所有进程
↓(操作系统层面拦截)
虚拟网卡(TUN0)
↓
Clash Meta / sing-box 内核
↓(规则判断)
代理节点 or 直连TUN 模式在网络栈的更底层工作,不依赖应用程序是否支持代理设置。
何时应该使用 TUN 模式?
| 场景 | 使用 TUN 的必要性 |
|---|---|
| 游戏加速(需要 UDP 代理) | 强烈推荐 |
| git / npm / pip 等命令行工具走代理 | 推荐 |
| Docker 容器网络走代理 | 推荐 |
| 企业 VPN 同时使用 | 谨慎(可能冲突) |
| 普通网页浏览 | 不必要 |
| 看 Netflix / YouTube | 不必要(系统代理已足够) |
TUN 模式的安全风险
⚠️ 在开启 TUN 模式之前,请仔细了解以下风险:
风险 1:权限提升攻击面增大
TUN 模式需要管理员权限,这意味着代理客户端进程具有更高的系统权限。如果客户端软件本身存在漏洞,攻击面比普通模式更大。
缓解措施:只使用官方 GitHub 发布的客户端,不下载第三方修改版。
风险 2:DNS 请求可能绕过规则
TUN 模式下,某些操作系统的 DNS 解析机制可能与 TUN 规则引擎产生冲突,导致 DNS 请求泄露(即 DNS 查询不走代理,直接发往运营商 DNS)。
缓解措施:开启客户端的 DNS 防泄漏设置(详见后文)。
风险 3:局域网访问可能受影响
TUN 模式可能截获局域网流量,导致:
- 无法访问局域网内的打印机、NAS
- 局域网游戏联机出现问题
- Chromecast / AirPlay 等本地设备发现失败
缓解措施:在 TUN 配置中将局域网 IP 段(192.168.0.0/16、10.0.0.0/8)设为直连:
# Clash Meta 配置示例
tun:
enable: true
stack: mixed
dns-hijack:
- any:53
auto-route: true
auto-detect-interface: true
exclude-package:
# 排除特定应用(Linux)风险 4:客户端崩溃导致断网
TUN 模式修改了系统路由表,若客户端意外崩溃,路由表可能处于异常状态,导致无法上网。
缓解措施:
- 不要在重要工作时间段首次测试 TUN 模式
- 遇到断网时,重启客户端或重启系统即可恢复
DNS 防泄漏配置建议
什么是 DNS 泄漏?
DNS 泄漏指的是:你虽然在使用代理,但 DNS 查询(域名解析)仍然经过你的 ISP(运营商)的 DNS 服务器,从而暴露你正在访问的域名信息。
泄漏示意:
你 → 代理(连接已加密) → 目标网站 ← 隐私保护 ✅
你 → ISP 的 DNS 服务器(明文:我要访问 google.com) ← 已泄漏 ❌如何检测 DNS 泄漏?
访问以下网站检测:
https://dnsleaktest.comhttps://ipleak.net
如果测试结果显示的 DNS 服务器是你的 ISP(如中国联通、中国移动),说明存在 DNS 泄漏。
Clash Meta / Clash Verge Rev 防泄漏配置
在 Clash Meta 配置中,添加以下 DNS 设置:
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
# 使用加密 DNS,防止泄漏
default-nameserver:
- 223.5.5.5 # 阿里 DNS(用于解析 DNS 服务器本身)
- 119.29.29.29 # 腾讯 DNS
# 境外域名使用境外 DNS(走代理解析)
nameserver:
- https://1.1.1.1/dns-query # Cloudflare DoH
- https://8.8.8.8/dns-query # Google DoH
# 国内域名使用国内 DNS(直连解析,速度快)
nameserver-policy:
"geosite:cn":
- 223.5.5.5
- 119.29.29.29
# 增强模式:防止 DNS 污染
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
# fake-ip 过滤(局域网地址不使用 fake-ip)
fake-ip-filter:
- "*.lan"
- "*.local"
- "+.local.example.com"Shadowrocket DNS 防泄漏配置
- 打开 Shadowrocket → 底部「设置」
- 找到「DNS」选项
- 将主 DNS 修改为:
1.1.1.1或8.8.8.8 - 开启「DNS over HTTPS」(DoH)
- DoH 地址填写:
https://1.1.1.1/dns-query
不同 DNS 方案对比
| DNS 方案 | 隐私保护 | 速度 | 配置难度 |
|---|---|---|---|
| 运营商默认 DNS | ❌ 无 | ✅ 快 | ✅ 无需配置 |
| 公共 DNS(8.8.8.8) | ⚠️ 一般 | ✅ 较快 | ✅ 简单 |
| DoH(DNS over HTTPS) | ✅ 好 | ⚠️ 稍慢 | ⚠️ 中等 |
| DoT(DNS over TLS) | ✅ 好 | ⚠️ 稍慢 | ⚠️ 中等 |
| fake-ip 模式 | ✅ 好 | ✅ 快 | ⚠️ 需理解原理 |
推荐方案:对于普通用户,使用 DoH + Cloudflare(1.1.1.1/dns-query)是最简单可靠的配置。
模式选择决策指南
我应该用哪种模式?
│
├── 日常浏览网页、看视频
│ └── ✅ 规则模式(Rule)
│
├── 测试节点是否可用 / 调试问题
│ └── ✅ 全局模式(Global),测试完切回规则模式
│
├── 需要让命令行工具 / 游戏走代理
│ └── ✅ TUN 模式(开启后通常与规则模式配合使用)
│
├── 需要完全关闭代理
│ └── ✅ 直连模式(Direct)或直接关闭客户端
│
└── 不确定用哪个?
└── ✅ 规则模式,永远是最安全的默认选项相关教程: