最后更新于: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-AgentUSER-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 规则类型快速对照表

能力SurgeClash VergeShadowrocketv2rayN
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 工具域名清单

工具核心域名需要代理
ChatGPTchatgpt.comchat.openai.comapi.openai.comauth0.openai.complatform.openai.comcdn.oaistatic.com是(部分节点被 ban)
Claudeclaude.aiapi.anthropic.com是(需美区/英区 IP)
Geminigemini.google.comgenerativelanguage.googleapis.com
Copilotapi.githubcopilot.comgithubcopilot.com否(国内可直连)
DeepSeekchat.deepseek.comapi.deepseek.com否(国内直连)
Kimikimi.moonshot.cn否(国内直连)
Perplexityperplexity.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-rulesLoyalsoldierClashreject.txt / proxy.txt / direct.txt 三大分类
ACL4SSRACL4SSR 社区Clash完整配置模板,规则精细度高
Loyalsoldier/surge-rulesLoyalsoldierSurge同上,Surge 格式
DivineEngine/ProfilesDivineEngineSurge / Clash / Quantumult X多客户端一站式规则
blackmatrix7/ios_rule_scriptblackmatrix7Surge / 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 常见游戏流量特征

游戏协议特殊需求
SteamTCP/HTTP + UDP下载走代理更快(CDN差异),游戏流量直连
Epic GamesTCP/HTTPS商店页面可能需要代理,下载直连更快
Switch OnlineTCP/UDP联机需要 UDP 代理支持
PS5 / XboxTCP/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 国际许可协议进行许可。