Clash 直连规则与拒绝规则编写指南:DIRECT 与 REJECT 实战教程

立即下载Clash入门 全平台支持 · 官方最新版

为什么必须掌握 DIRECT 和 REJECT 规则

Clash 默认只配置了一组基础的“绕过局域网”和“国内IP段直连”的规则,远远覆盖不了真实使用中的复杂场景。如果不主动编写 DIRECT 与 REJECT 规则,会出现两类典型问题:

  1. 该直连的走了代理——例如百度网盘、知乎、CSDN,本来国内直连速度更快,却走了代理反而变慢甚至出现验证码
  2. 该拒绝的没有被拒绝——某些广告域名、跟踪脚本、挖矿流量在后台偷偷消耗代理流量

掌握好这两个规则类型,是从“会用 Clash”升级到“精通 Clash”的关键一步。

DIRECT 与 REJECT 基础概念

DIRECT(直连)

DIRECT 表示该条规则不经过任何代理节点,由本地网络直接发起请求。

rules:
  - "DOMAIN-SUFFIX,baidu.com,DIRECT"
  - "GEOIP,CN,DIRECT"

上面这两行表示:

REJECT(拒绝)

REJECT 表示直接丢弃该请求,返回 ERR_CONNECTION_REFUSED,目标服务器根本收不到请求。

rules:
  - "DOMAIN-SUFFIX,doubleclick.net,REJECT"
  - "DST-PORT,25,REJECT"

上面这两行表示:

关键区别

特性 DIRECT REJECT
目标服务器能否收到请求 ✅ 能 ❌ 不能
本地网络流量 走正常网络 不产生流量
节省代理流量 ✅ ✅✅
节省本地带宽 ⚠ 仍占 ✅ 完全节省
误用影响 速度变慢/网站打不开 请求失败/功能禁用

DIRECT 规则的 5 大实战场景

场景 1:国内大厂域名直连

几乎所有国内服务(百度、阿里、腾讯、字节跳动)在国外节点走代理反而更慢。推荐规则:

rules:
  - "DOMAIN-SUFFIX,baidu.com,DIRECT"
  - "DOMAIN-SUFFIX,qq.com,DIRECT"
  - "DOMAIN-SUFFIX,weixin.qq.com,DIRECT"
  - "DOMAIN-SUFFIX,alipay.com,DIRECT"
  - "DOMAIN-SUFFIX,taobao.com,DIRECT"
  - "DOMAIN-SUFFIX,tmall.com,DIRECT"
  - "DOMAIN-SUFFIX,jd.com,DIRECT"
  - "DOMAIN-SUFFIX,bilibili.com,DIRECT"
  - "DOMAIN-SUFFIX,douyin.com,DIRECT"
  - "DOMAIN-SUFFIX,bytedance.com,DIRECT"

进阶技巧:使用 DOMAIN-KEYWORD 匹配包含子字符串的域名:

rules:
  - "DOMAIN-KEYWORD,alicdn,DIRECT"      # 阿里 CDN 资源
  - "DOMAIN-KEYWORD,qpic,DIRECT"         # 腾讯图片 CDN
  - "DOMAIN-KEYWORD,bdimg,DIRECT"        # 百度图片 CDN

场景 2:CDN 资源直连

大型 CDN(CloudFlare、Akamai、阿里云)在全球都有节点,国内访问直连比走代理快 3-10 倍:

rules:
  - "DOMAIN-SUFFIX,cloudflare.com,DIRECT"
  - "DOMAIN-SUFFIX,akamaiedge.net,DIRECT"
  - "DOMAIN-SUFFIX,alicdn.com,DIRECT"
  - "DOMAIN-SUFFIX,bootcdn.net,DIRECT"
  - "DOMAIN-SUFFIX,staticfile.org,DIRECT"

场景 3:内网与局域网直连

家庭/办公内网服务必须直连,否则会进入代理绕一大圈:

rules:
  - "IP-CIDR,10.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"
  - "IP-CIDR,127.0.0.0/8,DIRECT,no-resolve"
  - "DOMAIN-SUFFIX,local,DIRECT"
  - "DOMAIN-SUFFIX,lan,DIRECT"

注意:内网 IP 不需要 DNS 解析,加 no-resolve 提高性能。

场景 4:已知国内 IP 段直连

CN-IP 段走 GEOIP 规则(需要 Clash 内置 GeoIP 数据库):

rules:
  - "GEOIP,CN,DIRECT"
  - "GEOIP,PRIVATE,DIRECT"   # 私有 IP 段

但 GEOIP 不能 100% 覆盖,有时漏掉新分配的 IP 段,需配合手动 IP-CIDR 补充。

场景 5:国内应用内嵌资源

很多 App 的“分享/H5”页面会嵌入国外域名,默认走代理反而打不开,需要单独设置:

rules:
  - "DOMAIN-SUFFIX,weibo.cn,DIRECT"
  - "DOMAIN-SUFFIX,weibo.com,DIRECT"
  - "DOMAIN-SUFFIX,xiaomi.com,DIRECT"
  - "DOMAIN-SUFFIX,mi.com,DIRECT"

REJECT 规则的 5 大实战场景

场景 1:广告域名拦截

广告联盟的域名追踪你的浏览习惯,拒绝它们既省流量又保护隐私:

rules:
  - "DOMAIN-SUFFIX,doubleclick.net,REJECT"
  - "DOMAIN-SUFFIX,googlesyndication.com,REJECT"
  - "DOMAIN-SUFFIX,googleadservices.com,REJECT"
  - "DOMAIN-SUFFIX,adservice.google.com,REJECT"
  - "DOMAIN-SUFFIX,adsystem.amazon.com,REJECT"
  - "DOMAIN-SUFFIX,scorecardresearch.com,REJECT"
  - "DOMAIN-SUFFIX,outbrain.com,REJECT"
  - "DOMAIN-SUFFIX,taboola.com,REJECT"

场景 2:电信运营商劫持域名

国内运营商经常在 DNS 阶段劫持某些域名(强插广告),直接拒绝从源头切断:

rules:
  - "DOMAIN-KEYWORD,ads,REJECT"
  - "DOMAIN-KEYWORD,tracker,REJECT"
  - "DOMAIN-KEYWORD,stat,REJECT"
  - "DOMAIN-KEYWORD,analysis,REJECT"
  - "DOMAIN-KEYWORD,pixel,REJECT"

⚠️ 注意:DOMAIN-KEYWORD,ads 会误伤一些合法域名(如 github 的 ads 子域名外的其他服务),先小范围测试再加入。

场景 3:危险端口拒绝

恶意软件常通过以下端口外联,必须彻底拒绝:

rules:
  - "DST-PORT,25,REJECT"      # SMTP 木马外联
  - "DST-PORT,135,REJECT"     # Windows RPC
  - "DST-PORT,139,REJECT"     # NetBIOS
  - "DST-PORT,445,REJECT"     # SMB 勒索病毒通道
  - "DST-PORT,3389,REJECT"    # RDP(防止扫描)
  - "DST-PORT,4444,REJECT"    # Metasploit 默认端口
  - "DST-PORT,6667,REJECT"    # IRC 后门

场景 4:加密挖矿流量拒绝

加密货币挖矿流量会大量消耗代理流量,发现可疑 JS 注入或端口时直接 REJECT:

rules:
  - "DOMAIN-SUFFIX,coinhive.com,REJECT"
  - "DOMAIN-SUFFIX,cryptoloot.com,REJECT"
  - "DOMAIN-SUFFIX,minero.cc,REJECT"
  - "DST-PORT,3333,REJECT"     # 常见矿池端口
  - "DST-PORT,7777,REJECT"     # 矿池端口
  - "DST-PORT,8888,REJECT"     # 矿池端口

场景 5:内网横向攻击防护

家庭/办公局域网被攻击者扫描时直接拒绝所有外发请求:

rules:
  - "SRC-IP-CIDR,10.0.0.0/8,REJECT"     # 阻止 10 网段所有外联请求
  - "SRC-IP-CIDR,172.16.0.0/12,REJECT"
  - "SRC-IP-CIDR,192.168.0.0/16,REJECT"

规则类型速查表

Clash 支持 10 余种规则类型,编写 DIRECT/REJECT 时必须配合正确的规则类型才能生效:

规则类型 作用 典型用法
DOMAIN-SUFFIX 匹配域名后缀 DOMAIN-SUFFIX,google.com 匹配 mail.google.com
DOMAIN-KEYWORD 匹配域名包含子串 DOMAIN-KEYWORD,google 匹配所有含 google 的域名
DOMAIN 精确域名匹配 DOMAIN,www.baidu.com 仅匹配这一个域名
GEOIP 匹配 IP 归属国 GEOIP,CN 匹配中国大陆 IP
IP-CIDR 匹配 IP 段 IP-CIDR,192.168.0.0/16
IP-CIDR6 匹配 IPv6 段 IP-CIDR6,2400:3200::/32
SRC-PORT 匹配源端口 SRC-PORT,7891 防止本地代理套娃
DST-PORT 匹配目标端口 DST-PORT,443
SRC-IP-CIDR 匹配源 IP 段 适用于网关/路由器场景
PROCESS-NAME 匹配进程名 PROCESS-NAME,WeChat.exe
MATCH 兜底规则 必须在最后一行

规则顺序的黄金法则

Clash 规则从上到下依次匹配,命中即停止。顺序错了会完全失效。

推荐的规则顺序

 rules:
   1. # 1. 最严格的白名单规则(精确域名)
   2. - "DOMAIN,internal.local,DIRECT"
   3. 
   4. # 2. 内网 IP 段(必须最早,否则会被 DNS 污染)
   5. - "IP-CIDR,10.0.0.0/8,DIRECT,no-resolve"
   6. - "IP-CIDR,172.16.0.0/12,DIRECT,no-resolve"
   7. - "IP-CIDR,192.168.0.0/16,DIRECT,no-resolve"
   8. 
   9. # 3. 国内大厂域名直连
  10. - "DOMAIN-SUFFIX,baidu.com,DIRECT"
  11. - "DOMAIN-SUFFIX,qq.com,DIRECT"
  12. - "DOMAIN-SUFFIX,alipay.com,DIRECT"
  13. 
  14. # 4. 国内 IP 段直连(GEOIP 兜底)
  15. - "GEOIP,CN,DIRECT,no-resolve"
  16. 
  17. # 5. 危险端口/恶意域名 REJECT(必须在代理规则之前)
  18. - "DST-PORT,25,REJECT"
  19. - "DST-PORT,445,REJECT"
  20. - "DOMAIN-SUFFIX,doubleclick.net,REJECT"
  21. 
  22. # 6. 自定义代理规则(优先节点的)
  23. - "DOMAIN-SUFFIX,google.com,Proxy"
  24. - "DOMAIN-SUFFIX,github.com,Proxy"
  25. 
  26. # 7. 兜底 MATCH
  27. - "MATCH,Proxy"

顺序错误示例

❌ 错误:把 GEOIP 放在 DOMAIN-SUFFIX 之前

rules:
  - "GEOIP,CN,DIRECT"               # ← 会先命中所有中国 IP
  - "DOMAIN-SUFFIX,baidu.com,Proxy" # ← 这条永远不会执行

✅ 正确:DOMAIN-SUFFIX 在前,GEOIP 作为兜底

rules:
  - "DOMAIN-SUFFIX,baidu.com,DIRECT"
  - "GEOIP,CN,DIRECT,no-resolve"

实战:一套完整的 DIRECT + REJECT 规则模板

以下模板可以直接复制到 Clash 配置文件 config.yaml 的 rules: 字段下:

rules:
  # ===== 第一段:内网与基础设施(必须最早)=====
  - "DOMAIN-SUFFIX,local,DIRECT"
  - "IP-CIDR,10.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"
  - "GEOIP,PRIVATE,DIRECT,no-resolve"

  # ===== 第二段:国内大厂域名直连(提升速度)=====
  - "DOMAIN-SUFFIX,cn,DIRECT"
  - "DOMAIN-KEYWORD,alicdn,DIRECT"
  - "DOMAIN-KEYWORD,bdimg,DIRECT"
  - "DOMAIN-SUFFIX,baidu.com,DIRECT"
  - "DOMAIN-SUFFIX,qq.com,DIRECT"
  - "DOMAIN-SUFFIX,alipay.com,DIRECT"
  - "DOMAIN-SUFFIX,weibo.com,DIRECT"
  - "DOMAIN-SUFFIX,weibo.cn,DIRECT"
  - "DOMAIN-SUFFIX,xiaomi.com,DIRECT"

  # ===== 第三段:GEOIP 中国 IP 直连兜底 =====
  - "GEOIP,CN,DIRECT,no-resolve"

  # ===== 第四段:危险端口与广告 REJECT(必须在代理前)=====
  - "DST-PORT,25,REJECT"
  - "DST-PORT,135,REJECT"
  - "DST-PORT,139,REJECT"
  - "DST-PORT,445,REJECT"
  - "DST-PORT,3389,REJECT"
  - "DOMAIN-SUFFIX,doubleclick.net,REJECT"
  - "DOMAIN-SUFFIX,googlesyndication.com,REJECT"
  - "DOMAIN-SUFFIX,scorecardresearch.com,REJECT"
  - "DOMAIN-SUFFIX,coinhive.com,REJECT"

  # ===== 第五段:自定义代理策略(按需调整)=====
  - "DOMAIN-SUFFIX,google.com,Proxy"
  - "DOMAIN-SUFFIX,youtube.com,Proxy"
  - "DOMAIN-SUFFIX,github.com,Proxy"
  - "DOMAIN-SUFFIX,openai.com,Proxy"

  # ===== 第六段:兜底规则 =====
  - "MATCH,Proxy"

调试技巧:验证规则是否生效

1. 用 web 控制台看命中

打开 Clash Dashboard(默认 http://127.0.0.1:9090/ui),切换到“Connections”或“Logs”面板,每个请求都会显示“Rule”列告诉你命中了哪条规则。

2. 用 curl 测试直连

# 测试 baidu.com 是否直连(应返回国内 IP)
curl -v --resolve baidu.com:443:220.181.38.148 https://baidu.com 2>&1 | grep "Connected to"

# 测试 google.com 是否走代理
curl -v https://google.com 2>&1 | grep "Connected to"

3. 用 no-resolve 优化

内网 IP、已知名 IP 段不需要 DNS 解析。加 no-resolve 跳过 DNS 查询,提高匹配速度 20-50ms:

- "IP-CIDR,10.0.0.0/8,DIRECT,no-resolve"
- "GEOIP,CN,DIRECT,no-resolve"

常见误区与排错

误区 1:把所有国内服务都设为 DIRECT

❌ 错误:把 google.cn 也设为 DIRECT(虽然它在大陆有服务器,但 google.cn 会被强制跳转)

✅ 正确:仅对确实在国内有 CDN 的服务(baidu.com、qq.com、alipay.com 等)设 DIRECT

误区 2:REJECT 替代 DROP 防止被探测

有的用户会用 DROP(直接丢弃,不回应)代替 REJECT,但实际上REJECT 已足够:

- "DST-PORT,445,REJECT"   # ✅ 直接拒绝,节省握手时间
- "DST-PORT,445,DROP"     # ❌ 不必要,反而增加端口扫描被长时间挂起的风险

误区 3:忽视 SRC-IP-CIDR 的安全价值

在企业/共享网络环境,最好用 SRC-IP-CIDR 限制只有本机可以出网:

- "SRC-IP-CIDR,192.168.1.0/24,DIRECT"   # 仅允许 192.168.1.x 网段出网
- "SRC-IP-CIDR,192.168.1.0/24,REJECT"   # 其他网段直接拒绝

总结与最佳实践

  1. 顺序是关键:内网 → 国内大厂 → GEOIP 兜底 → REJECT 危险 → 代理规则 → MATCH 兜底
  2. 优先用 DOMAIN-SUFFIX:比 DOMAIN-KEYWORD 精确,避免误伤
  3. REJECT 放在代理规则之前:防止危险流量先走代理再被丢弃
  4. 加 no-resolve 优化性能:内网和已知 IP 段避免多余 DNS 查询
  5. 定期 review 规则:每季度检查一次,新增常访问的国内服务
  6. 结合 Rule Providers 维护:广告/跟踪域名库每日更新,建议订阅 ruleset.adguard.com 等公开规则集

精通 DIRECT 和 REJECT 规则的本质是理解“流量应该去哪里”——合理的规则配置能让你的代理服务用得最省、最快、最安全。

这篇教程有帮助吗?立即下载Clash入门试试吧!

全平台支持 · 安全无毒 · 官方最新版

下载Clash入门