最后更新于:2026年6月

代理分流规则完全指南
代理分流规则完全指南

很多人在配置好代理客户端后,做的第一件事就是去找一份「规则配置」粘贴进去,然后——能用就行。至于那些 DOMAIN-SUFFIX,google.com,Proxy 到底在干什么、为什么有时候国内网站也走了代理、为什么 ChatGPT 突然连不上了,很少有人真正搞明白。

**分流规则(Routing Rules)**是代理工具最核心的「大脑」。它决定了哪些流量走代理、哪些直连、哪些直接拒绝——配置得当,国内网站秒开、海外服务顺畅、流量不会白白浪费;配置不当,要么国内网站奇慢无比,要么敏感流量裸奔。

本文以四种主流客户端为例(Surge、Clash Verge、Shadowrocket、v2rayN),系统讲解分流规则的原理、语法、实战配置和常见错误排查。


一、分流规则的基本原理

1.1 三种策略

每一条分流规则最终都会把匹配到的流量指向一个策略(Policy)。策略只有三种:

策略 含义 典型场景
DIRECT(直连) 不走代理,直接访问目标服务器 国内网站、局域网设备
Proxy / 代理组名 通过指定代理节点访问 被墙网站、海外服务
REJECT(拒绝) 直接丢弃流量,不建立连接 广告域名、跟踪器
PLAINTEXT
用户请求 → 规则引擎(从上到下匹配)
              │
              ├── 匹配规则1 → DIRECT(直连)
              ├── 匹配规则2 → Proxy(代理)
              ├── 匹配规则3 → REJECT(拒绝)
              ├── ...
              └── 没有匹配 → MATCH / FINAL(兜底策略)

1.2 规则匹配优先级:短路求值

所有主流代理客户端都遵循**从上到下、命中即停(短路求值)**的原则。这意味着:

PLAINTEXT
正确顺序:具体规则在前,宽泛规则在后
错误顺序:GEOIP,CN,DIRECT 写在最前面
          → 所有 CN IP 都直连了
          → 下面的 google.com,Proxy 永远不会生效(因为 Google 用的也是海外 IP)

关键结论:把最精确、最重要的规则放在最前面,把宽泛的兜底规则放在最后。

1.3 匹配的维度

分流规则可以从多个维度匹配流量:

维度 说明 示例
域名全匹配 精确匹配完整域名 google.com
域名后缀 匹配域名及其所有子域名 DOMAIN-SUFFIX,google.com → 匹配 mail.google.comwww.google.com
域名关键词 域名中包含指定关键词 DOMAIN-KEYWORD,google → 匹配 google.comgoogletagmanager.com
IP 段 匹配 IP 地址范围 IP-CIDR,10.0.0.0/8(局域网地址)
GEOIP 按 IP 归属地匹配 GEOIP,CN → 匹配所有中国大陆 IP
GeoSite 按域名归属分类 GEOSITE,google → 匹配所有 Google 相关域名
规则集 引用外部规则文件 RULE-SET,reject.yaml → 加载远程广告屏蔽规则
进程名 按发起请求的进程名 PROCESS-NAME,wechat → 微信的所有流量
User-Agent 按 HTTP User-Agent USER-AGENT,Netflix* → Netflix 客户端的流量

二、四大客户端的规则语法对照

不同客户端使用的规则语法有细微差异,但核心逻辑一致。以下是四款主流客户端的规则对照表:

2.1 Surge

Surge 的规则语法最丰富,支持进程名、User-Agent、URL-REGEX 等高级匹配。

PLAINTEXT
# Surge 规则格式
# TYPE,MATCHER,POLICY[,EXTENDED-MATCHER]

# 域名规则
DOMAIN,example.com,Proxy
DOMAIN-SUFFIX,google.com,Proxy
DOMAIN-KEYWORD,google,Proxy

# IP 规则
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT

# 高级匹配
PROCESS-NAME,WeChat,DIRECT
USER-AGENT,Netflix*,Proxy
URL-REGEX,^https?://.*\.google\..*,Proxy

# 规则集(Surge 6+)
RULE-SET,https://example.com/rules.list,Proxy

# 模块引用
# 可以从 URL 加载规则模块
# https://example.com/module.sgmodule

# 兜底
FINAL,Proxy

2.2 Clash Verge / Mihomo

Clash 生态使用 YAML 格式,规则内嵌在配置文件中。

YAML
# Clash 规则格式
rules:
  # 域名规则
  - DOMAIN,example.com,Proxy
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-KEYWORD,google,Proxy

  # IP 规则
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - GEOIP,CN,DIRECT

  # GeoSite(需配合 geosite.dat)
  - GEOSITE,google,Proxy
  - GEOSITE,netflix,Proxy
  - GEOSITE,geolocation-cn,DIRECT

  # 规则集(rule-provider)
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,Proxy
  - RULE-SET,direct,DIRECT

  # 进程匹配(Mihomo 内核支持)
  - PROCESS-NAME,v2rayN,DIRECT
  - PROCESS-NAME,Telegram,Proxy

  # 逻辑规则(Mihomo 内核)
  - AND,((DOMAIN,example.com),(DST-PORT,443)),Proxy

  # 兜底
  - MATCH,Proxy

2.3 Shadowrocket(小火箭)

Shadowrocket 使用简化的规则格式,写在配置文本中。

PLAINTEXT
# Shadowrocket 规则格式
# TYPE,MATCHER,POLICY

# 域名规则
DOMAIN,example.com,Proxy
DOMAIN-SUFFIX,google.com,Proxy
DOMAIN-KEYWORD,google,Proxy

# IP 规则
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT

# User-Agent(部分支持)
USER-AGENT,Netflix*,Proxy

# 兜底
FINAL,Proxy

注意:Shadowrocket 不支持 RULE-SET 远程规则集,不支持 GEOSITE,不支持进程名匹配。规则全部写在本地。

2.4 v2rayN

v2rayN 使用 V2Ray/Xray 的路由规则系统,在「参数设置 → 路由设置」中配置。

JSON
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "domain": ["geosite:category-ads-all"],
        "outboundTag": "block"
      },
      {
        "type": "field",
        "domain": ["geosite:google", "geosite:github"],
        "outboundTag": "proxy"
      },
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": ["geoip:cn"],
        "outboundTag": "direct"
      }
    ]
  }
}

v2rayN 的特色

2.5 规则类型快速对照表

能力 Surge Clash Verge Shadowrocket v2rayN
DOMAIN ✅(geosite)
DOMAIN-SUFFIX ✅(geosite)
DOMAIN-KEYWORD
IP-CIDR ✅(geoip)
GEOIP ✅(geoip)
GEOSITE
RULE-SET ✅(rule-provider)
PROCESS-NAME ✅(Mihomo)
USER-AGENT
URL-REGEX
逻辑规则(AND/OR/NOT) ✅(Mihomo)
远程规则集订阅

三、经典分流配置模板

3.1 通用三层分流(最常用的模式)

这是最基础、最通用的分流结构,几乎适用于所有场景:

PLAINTEXT
层级1:局域网 + 私有地址 → DIRECT
层级2:中国大陆流量 → DIRECT
层级3:其余流量 → Proxy

Surge 版

PLAINTEXT
# 1. 局域网 + 私有地址
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,127.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR,224.0.0.0/24,DIRECT

# 2. 中国大陆流量
DOMAIN-SUFFIX,cn,DIRECT
GEOIP,CN,DIRECT

# 3. 兜底代理
FINAL,Proxy

Clash 版

YAML
rules:
  # 1. 局域网私有地址
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

  # 2. 中国大陆域名 + IP
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,CN,DIRECT

  # 3. 兜底
  - MATCH,Proxy

no-resolve 的作用:对于 IP-CIDR 规则,加上 no-resolve 表示「仅当请求本身就是 IP 地址时才匹配,不要为了匹配这条规则而去 DNS 解析域名」。不加 no-resolve 可能导致 DNS 泄露——因为 Clash 为了判断一个域名是否匹配 IP-CIDR 规则,会先解析域名的 IP。

3.2 加入广告屏蔽层(四层分流)

在基本分流的基础上,加入广告/跟踪器屏蔽层:

PLAINTEXT
层级1:局域网 + 私有地址 → DIRECT
层级2:广告/跟踪域名 → REJECT
层级3:中国大陆流量 → DIRECT
层级4:其余流量 → Proxy

Clash rule-provider 版(推荐):

YAML
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

rules:
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - RULE-SET,reject,REJECT
  - RULE-SET,direct,DIRECT
  - RULE-SET,proxy,Proxy
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

规则集说明


四、AI 工具专用分流配置

ChatGPT、Claude、Gemini 等 AI 工具对网络环境有特殊要求——它们通常检测 IP 归属地,部分服务(如 Claude Pro)对非支持地区的 IP 直接拒绝服务。

4.1 AI 工具域名清单

工具 核心域名 需要代理
ChatGPT chatgpt.comchat.openai.comapi.openai.comauth0.openai.complatform.openai.comcdn.oaistatic.com 是(部分节点被 ban)
Claude claude.aiapi.anthropic.com 是(需美区/英区 IP)
Gemini gemini.google.comgenerativelanguage.googleapis.com
Copilot api.githubcopilot.comgithubcopilot.com 否(国内可直连)
DeepSeek chat.deepseek.comapi.deepseek.com 否(国内直连)
Kimi kimi.moonshot.cn 否(国内直连)
Perplexity perplexity.aiapi.perplexity.ai

4.2 AI 工具分流规则(Surge)

PLAINTEXT
# === AI 工具分流 ===

# ChatGPT
DOMAIN-SUFFIX,chatgpt.com,Proxy
DOMAIN-SUFFIX,openai.com,Proxy
DOMAIN-SUFFIX,oaistatic.com,Proxy
DOMAIN-SUFFIX,oaiusercontent.com,Proxy

# Claude
DOMAIN-SUFFIX,claude.ai,Proxy
DOMAIN-SUFFIX,anthropic.com,Proxy

# Gemini
DOMAIN-SUFFIX,gemini.google.com,Proxy
DOMAIN-SUFFIX,generativelanguage.googleapis.com,Proxy

# Copilot(可选:国内直连也很快)
# DOMAIN-SUFFIX,githubcopilot.com,DIRECT

# 国内 AI 工具直连
DOMAIN-SUFFIX,deepseek.com,DIRECT
DOMAIN-SUFFIX,moonshot.cn,DIRECT
DOMAIN-SUFFIX,doubao.com,DIRECT
DOMAIN-SUFFIX,qwen.ai,DIRECT
DOMAIN-SUFFIX,zhipuai.cn,DIRECT

4.3 AI 工具分流规则(Clash)

YAML
rules:
  # ChatGPT & OpenAI
  - DOMAIN-SUFFIX,chatgpt.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,openai.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,oaistatic.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,oaiusercontent.com,🤖AI-Proxy

  # Claude
  - DOMAIN-SUFFIX,claude.ai,🤖AI-Proxy
  - DOMAIN-SUFFIX,anthropic.com,🤖AI-Proxy

  # Gemini
  - DOMAIN-SUFFIX,gemini.google.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,generativelanguage.googleapis.com,🤖AI-Proxy

  # 国内 AI → 直连
  - DOMAIN-SUFFIX,deepseek.com,DIRECT
  - DOMAIN-SUFFIX,moonshot.cn,DIRECT

建议:为 AI 工具单独设置一个代理策略组(如 🤖AI-Proxy),使用美区或日区节点。ChatGPT 和 Claude 对部分数据中心的 IP 会做风控,建议使用住宅 IP 或干净的 VPS 节点。

4.4 AI API 开发场景

如果你使用 AI API 进行开发,需要特别注意:

PLAINTEXT
# AI API 专用
DOMAIN-SUFFIX,api.openai.com,Proxy        # OpenAI API
DOMAIN-SUFFIX,api.anthropic.com,Proxy     # Anthropic API
DOMAIN-SUFFIX,generativelanguage.googleapis.com,Proxy  # Gemini API
DOMAIN-SUFFIX,api.deepseek.com,DIRECT     # DeepSeek API(国内)
DOMAIN-SUFFIX,dashscope.aliyuncs.com,DIRECT  # 通义千问 API(国内)

注意:OpenAI API 和 ChatGPT 网页版使用的是不同的风控策略。API 对 IP 质量要求更高,建议使用固定 IP 的节点。


五、流媒体按区域分流

Netflix、Disney+、HBO、YouTube Premium 等流媒体服务在不同区域的定价、内容库和 IP 检测策略都不同。

5.1 流媒体区域选择策略

服务 推荐区域 理由
Netflix 美区/港区/新加坡 美区内容最全,港区有中文界面
Disney+ 美区/新加坡 美区 Star 内容库最大
YouTube Premium 土耳其/印度 价格最低(约 ¥15/月 vs 美区 $13.99)
HBO Max 美区 仅美区可用
Spotify 美区/菲律宾 菲律宾家庭组最便宜
Apple TV+ 美区 内容库最全

5.2 流媒体分流规则(Surge)

PLAINTEXT
# === 流媒体分流 ===

# Netflix
DOMAIN-SUFFIX,netflix.com,🎬Streaming
DOMAIN-SUFFIX,netflix.net,🎬Streaming
DOMAIN-SUFFIX,nflxext.com,🎬Streaming
DOMAIN-SUFFIX,nflximg.com,🎬Streaming
DOMAIN-SUFFIX,nflxvideo.net,🎬Streaming
DOMAIN-SUFFIX,nflxso.net,🎬Streaming

# Disney+
DOMAIN-SUFFIX,disneyplus.com,🎬Streaming
DOMAIN-SUFFIX,bamgrid.com,🎬Streaming
DOMAIN-SUFFIX,dssott.com,🎬Streaming
DOMAIN-SUFFIX,disney.demdex.net,🎬Streaming
DOMAIN-SUFFIX,edgekey.net,🎬Streaming

# YouTube(需要 Premium 分流)
DOMAIN-SUFFIX,googlevideo.com,🎬Streaming
DOMAIN-SUFFIX,youtube.com,🎬Streaming
DOMAIN-SUFFIX,ytimg.com,🎬Streaming

# HBO Max
DOMAIN-SUFFIX,hbomax.com,🎬Streaming
DOMAIN-SUFFIX,hbomaxcdn.com,🎬Streaming

# Spotify
DOMAIN-SUFFIX,spotify.com,🎬Streaming
DOMAIN-SUFFIX,scdn.co,🎬Streaming

5.3 流媒体策略组设计(Surge)

PLAINTEXT
# 策略组定义
[Proxy Group]
🎬Streaming = select, 🇺🇸Netflix-US, 🇭🇰Netflix-HK, 🇸🇬Netflix-SG, DIRECT

# 子策略组——为每个区域锁定专用节点
🇺🇸Netflix-US = select, US-Node1, US-Node2
🇭🇰Netflix-HK = select, HK-Node1, HK-Node2
🇸🇬Netflix-SG = select, SG-Node1, SG-Node2

这样设计的优势:看美区 Netflix 时切换到 🇺🇸Netflix-US,看港区时切换到 🇭🇰Netflix-HK,互不干扰。

5.4 流媒体分流规则(Clash)

YAML
rules:
  # Netflix
  - DOMAIN-SUFFIX,netflix.com,🎬Streaming
  - DOMAIN-SUFFIX,netflix.net,🎬Streaming
  - DOMAIN-SUFFIX,nflxext.com,🎬Streaming
  - DOMAIN-SUFFIX,nflximg.com,🎬Streaming
  - DOMAIN-SUFFIX,nflxvideo.net,🎬Streaming
  - DOMAIN-SUFFIX,nflxso.net,🎬Streaming

  # Disney+
  - DOMAIN-SUFFIX,disneyplus.com,🎬Streaming

  # YouTube
  - DOMAIN-SUFFIX,googlevideo.com,🎬Streaming
  - DOMAIN-SUFFIX,youtube.com,🎬Streaming

  # HBO Max
  - DOMAIN-SUFFIX,hbomax.com,🎬Streaming

  # Spotify
  - DOMAIN-SUFFIX,spotify.com,🎬Streaming

  # Apple TV+
  - DOMAIN-SUFFIX,tv.apple.com,🎬Streaming

5.5 流媒体解锁检测

如果不确定某个节点能否解锁某区的流媒体,可以使用以下工具检测:


六、社区规则集与自动更新

手动维护几千条规则是不现实的。社区维护的规则集可以让你几乎零配置开箱即用。

6.1 主流社区规则集

规则集 维护者 适用客户端 内容
Loyalsoldier/clash-rules Loyalsoldier Clash reject.txt / proxy.txt / direct.txt 三大分类
ACL4SSR ACL4SSR 社区 Clash 完整配置模板,规则精细度高
Loyalsoldier/surge-rules Loyalsoldier Surge 同上,Surge 格式
DivineEngine/Profiles DivineEngine Surge / Clash / Quantumult X 多客户端一站式规则
blackmatrix7/ios_rule_script blackmatrix7 Surge / Clash / Quantumult X / Loon 规则数量最全(30000+ 条)

6.2 Clash rule-provider 配置

YAML
rule-providers:
  # Loyalsoldier 规则集
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

  # ACL4SSR 在线规则
  acl4ssr:
    type: http
    behavior: classical
    url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ProxyGFWlist.yaml"
    path: ./ruleset/acl4ssr.yaml
    interval: 86400

rules:
  # 顺序:reject 优先 → direct → proxy → 兜底
  - RULE-SET,reject,REJECT
  - RULE-SET,direct,DIRECT
  - RULE-SET,proxy,Proxy
  - RULE-SET,acl4ssr,Proxy
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

6.3 Surge 规则集配置

PLAINTEXT
# Surge 的 RULE-SET 语法
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/reject.txt,REJECT
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/direct.txt,DIRECT
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/proxy.txt,Proxy

也可以加载完整的托管配置:

PLAINTEXT
# 在 Surge 中直接加载 ACL4SSR 的托管配置
# 更多 → 从 URL 下载配置 →
# https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini

6.4 自动更新策略

规则集不是一劳永逸的——域名每天都在变化。以下是最佳实践:


七、游戏加速分流

游戏流量和普通网页流量对网络的要求完全不同:游戏对延迟和丢包极度敏感,但对带宽要求很低。

7.1 常见游戏流量特征

游戏 协议 特殊需求
Steam TCP/HTTP + UDP 下载走代理更快(CDN差异),游戏流量直连
Epic Games TCP/HTTPS 商店页面可能需要代理,下载直连更快
Switch Online TCP/UDP 联机需要 UDP 代理支持
PS5 / Xbox TCP/UDP 下载走代理更快,联机直连延迟更低
原神 / 崩铁(国服) TCP/HTTPS 全部直连
原神 / 崩铁(国际服) TCP/HTTPS 全部代理
Valorant(国际服) UDP 需要 UDP 代理,延迟敏感

7.2 游戏分流规则

PLAINTEXT
# === 游戏加速分流 ===

# Steam(商店 + 社区走代理,下载直连或走代理取决于节点带宽)
DOMAIN-SUFFIX,steampowered.com,🎮Gaming
DOMAIN-SUFFIX,steamcommunity.com,🎮Gaming
DOMAIN-SUFFIX,steamstatic.com,DIRECT
DOMAIN-SUFFIX,steamcontent.com,DIRECT

# Epic Games
DOMAIN-SUFFIX,epicgames.com,🎮Gaming
DOMAIN-SUFFIX,unrealengine.com,DIRECT

# Nintendo
DOMAIN-SUFFIX,nintendo.com,🎮Gaming
DOMAIN-SUFFIX,nintendo.net,🎮Gaming

# 米哈游国际服
DOMAIN-SUFFIX,hoyoverse.com,🎮Gaming
DOMAIN-SUFFIX,mihoyo.com,Proxy
DOMAIN-SUFFIX,honkaiimpact3.com,🎮Gaming

# 国服游戏直连
DOMAIN-SUFFIX,hypergryph.com,DIRECT
DOMAIN-SUFFIX,biligame.com,DIRECT
DOMAIN-SUFFIX,qpic.cn,DIRECT

UDP 注意:大部分游戏联机的关键流量是 UDP。在 Clash 中确认 TUN 模式已启用且 udp: true;在 Surge 中确认「增强模式」已开启。


八、常见错误诊断与修复

8.1 规则顺序错误

症状:某些域名明明写了 Proxy 规则,但实际走了直连。

原因:宽泛的 DIRECT 规则(如 GEOIP,CN,DIRECT)写在了具体的 Proxy 规则前面。

错误示例

YAML
# 错误顺序
- GEOIP,CN,DIRECT        # ❌ 这条先匹配了
- DOMAIN-SUFFIX,google.com,Proxy  # 永远不会生效

正确示例

YAML
# 正确顺序
- DOMAIN-SUFFIX,google.com,Proxy  # 精确规则在前
- GEOIP,CN,DIRECT                 # 宽泛规则在后

8.2 DNS 泄露(no-resolve 缺失)

症状:使用了 IP-CIDR 规则后,即使目标域名匹配了前面的直连规则,DNS 查询仍然走了代理。

原因:Clash 为了判断域名是否匹配 IP-CIDR 规则,会先 DNS 解析。如果不加 no-resolve,就可能在匹配规则之前泄露 DNS。

修复

YAML
# ❌ 危险:没有 no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT

# ✅ 正确:加上 no-resolve
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

加上 no-resolve 后,Clash 只匹配「请求本身就是 IP 地址」的流量,不会为了此规则额外发起 DNS 查询。

8.3 规则集无法更新

症状:日志中出现 rule-provider update failedRULE-SET 加载失败

常见原因与修复

原因 修复方法
raw.githubusercontent.com 被墙 改用 cdn.jsdelivr.net/gh/ 代理
文件格式错误 检查 URL 指向的文件是否是正确格式(YAML/list)
客户端版本过旧 升级到最新版(Clash Verge Rev / Mihomo Party)
本地缓存损坏 删除 ruleset/ 目录下的缓存文件,重新更新

8.4 国内网站走了代理

症状:打开淘宝、百度等国内网站速度极慢,IP 地址显示为海外。

诊断步骤

  1. 检查 GEOIP,CN,DIRECT 规则是否存在且位置正确
  2. 检查 GeoIP 数据库是否过期(Clash 的 Country.mmdb
  3. 检查 DNS 设置:如果使用了代理 DNS,本地 DNS 可能返回了海外 IP
  4. 在 Surge 中查看「最近请求」看该域名命中了哪条规则

修复

YAML
# 确保规则顺序:国内域名→GEOIP→兜底
- DOMAIN-SUFFIX,cn,DIRECT        # 国内域名后缀
- GEOSITE,geolocation-cn,DIRECT  # GeoSite 中国网站
- GEOIP,CN,DIRECT                # 中国 IP
- MATCH,Proxy                    # 兜底

8.5 部分网站排版错乱

症状:网站能打开,但图片加载不出来、CSS 样式缺失。

原因:主域名走了代理,但 CDN 或静态资源域名走了直连(或反之),导致跨域或加载失败。

修复:找到加载失败的资源域名,添加到对应规则中。

常见关联域名

8.6 分流规则调试工具

客户端 调试方法
Surge 主界面 → 最近请求 → 查看每条请求的规则匹配结果
Clash Verge 日志 → 查看 [Rule] 行,显示命中的规则
Shadowrocket 日志 → 连接列表 → 查看每个连接的策略
v2rayN 主界面 → 日志 → 查看路由决策

快速排查技巧:在 Surge 中临时开启「全部代理」模式,如果问题消失,则说明是规则配置有问题;如果问题依旧,则说明是节点本身的问题。


九、完整配置模板

9.1 Clash Verge 完整模板

YAML
# ====== 代理策略组 ======
proxy-groups:
  - name: 🚀Proxy
    type: select
    proxies:
      - 🇺🇸US-01
      - 🇭🇰HK-01
      - 🇸🇬SG-01
      - DIRECT

  - name: 🤖AI-Proxy
    type: select
    proxies:
      - 🇺🇸US-01
      - 🇯🇵JP-01

  - name: 🎬Streaming
    type: select
    proxies:
      - 🇺🇸US-01
      - 🇭🇰HK-01
      - 🇸🇬SG-01
      - DIRECT

  - name: 🎮Gaming
    type: select
    proxies:
      - 🇭🇰HK-01
      - DIRECT

# ====== 远程规则集 ======
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

# ====== 规则 ======
rules:
  # 局域网
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

  # 广告屏蔽
  - RULE-SET,reject,REJECT

  # AI 工具独立分流
  - DOMAIN-SUFFIX,chatgpt.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,openai.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,claude.ai,🤖AI-Proxy
  - DOMAIN-SUFFIX,anthropic.com,🤖AI-Proxy
  - DOMAIN-SUFFIX,gemini.google.com,🤖AI-Proxy

  # 流媒体独立分流
  - DOMAIN-SUFFIX,netflix.com,🎬Streaming
  - DOMAIN-SUFFIX,disneyplus.com,🎬Streaming
  - DOMAIN-SUFFIX,googlevideo.com,🎬Streaming

  # 游戏平台
  - DOMAIN-SUFFIX,steampowered.com,🎮Gaming
  - DOMAIN-SUFFIX,steamcommunity.com,🎮Gaming
  - DOMAIN-SUFFIX,epicgames.com,🎮Gaming

  # 国内 AI 工具直连
  - DOMAIN-SUFFIX,deepseek.com,DIRECT
  - DOMAIN-SUFFIX,moonshot.cn,DIRECT
  - DOMAIN-SUFFIX,doubao.com,DIRECT

  # 社区规则集
  - RULE-SET,direct,DIRECT
  - RULE-SET,proxy,🚀Proxy

  # GEOIP 兜底
  - GEOIP,CN,DIRECT

  # 最终兜底
  - MATCH,🚀Proxy

9.2 Surge 完整模板

PLAINTEXT
[General]
# DNS 设置
dns-server = 223.5.5.5, 119.29.29.29

[Proxy]
🇺🇸US-01 = ss, ...
🇭🇰HK-01 = ss, ...
🇸🇬SG-01 = ss, ...
🇯🇵JP-01 = ss, ...

[Proxy Group]
🚀Proxy = select, 🇺🇸US-01, 🇭🇰HK-01, 🇸🇬SG-01
🤖AI-Proxy = select, 🇺🇸US-01, 🇯🇵JP-01
🎬Streaming = select, 🇺🇸US-01, 🇭🇰HK-01, 🇸🇬SG-01, DIRECT

[Rule]
# 局域网
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,127.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT

# 广告屏蔽
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/reject.txt,REJECT

# AI 工具
DOMAIN-SUFFIX,chatgpt.com,🤖AI-Proxy
DOMAIN-SUFFIX,openai.com,🤖AI-Proxy
DOMAIN-SUFFIX,claude.ai,🤖AI-Proxy
DOMAIN-SUFFIX,anthropic.com,🤖AI-Proxy
DOMAIN-SUFFIX,gemini.google.com,🤖AI-Proxy

# 流媒体
DOMAIN-SUFFIX,netflix.com,🎬Streaming
DOMAIN-SUFFIX,disneyplus.com,🎬Streaming
DOMAIN-SUFFIX,googlevideo.com,🎬Streaming

# 游戏
DOMAIN-SUFFIX,steampowered.com,🚀Proxy

# 国内 AI 直连
DOMAIN-SUFFIX,deepseek.com,DIRECT

# 社区规则集
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/direct.txt,DIRECT
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/proxy.txt,🚀Proxy

# GEOIP
GEOIP,CN,DIRECT

# 兜底
FINAL,🚀Proxy,DNS-Failed

DNS-Failed:Surge 的 FINAL 支持第二个参数 DNS-Failed。当 DNS 解析失败时(被污染),自动走代理。这是一个非常实用的兜底机制。


十、总结

十条最佳实践

  1. 精确在前,宽泛在后——规则顺序决定了匹配结果
  2. IP-CIDR 记得加 no-resolve——防止 DNS 泄露
  3. 使用 rule-provider 自动更新——域名列表每天都在变化
  4. AI 工具独立策略组——避免被风控 ban IP
  5. 流媒体独立策略组——方便切换区域解锁
  6. 广告屏蔽放最前面——过滤掉不必要流量
  7. 国内网站走直连——速度和体验是第一位的
  8. 兜底策略用代理——宁可多走代理,不要漏掉该走的流量
  9. 定期检查 GeoIP 数据库——IP 归属地变化会导致分流错误
  10. 善用调试工具——出问题时先看日志,而不是盲改规则

推荐规则集组合

场景 推荐方案
最省心 ACL4SSR 全功能配置模板
最精简 Loyalsoldier 三文件(reject + direct + proxy)
最全面 blackmatrix7/ios_rule_script(30000+ 条)
自定制 Loyalsoldier 基础规则 + 手动添加 AI/流媒体/游戏规则

分流规则看似复杂,但核心逻辑只有一条:把流量分好类,让该直的直、该代的代、该拒的拒。掌握了本文的原理和模板,你就能应对 90% 的实际场景。

版权声明

作者: 易邦

链接: https://blog.e8k.net/posts/proxy-routing-rules-deep-dive/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。