Skip to content

Rule Whitelist

clash-verge2026 edited this page Jun 25, 2026 · 1 revision

🧠 规则白名单体系:从“全域封锁”到“最小化授权”的代理哲学

最后更新:2026-06-25 · 适用版本:v2.6.0+ · 内核:Mihomo

在代理配置的世界里,大多数人习惯于“黑名单模式”——即默认直连,遇到打不开的网站再手动加规则走代理。这种方式简单粗暴,但极易造成隐私泄露(DNS 漏网)和规则冗余。本文将带你彻底反转思维,构建一套基于“最小化授权”的白名单体系。核心逻辑是:默认不信任所有流量,仅允许明确指定的国内网站直连,其余流量全部走代理或严格审计。

📑 本页目录


🛡️ 思想:为什么白名单更安全?

黑名单模式基于“已知危险”的假设,而白名单基于“未知即危险”。在复杂的网络环境中,你无法穷举所有代理域名。

  1. 根治 DNS 泄漏:在黑名单模式下,如果一个国内域名未被规则命中,它可能会误走代理 DNS 解析,导致解析出的 IP 为海外结果。白名单迫使你明确“谁可以直连”,从而在 DNS 层实现强硬分流。
  2. 规则极简化:你不再需要维护几万行的“广告屏蔽规则”或“恶意网站列表”来决定是否代理。你只需要维护一份“中国互联网基础设施清单”。
  3. 对抗 IP 漂移:黑名单常依赖 IP 地理位置库(GeoIP)。但 IP 库更新滞后,容易导致误判。白名单依赖域名匹配,精准度更高。
核心准则:凡是没有被列入 DIRECT 白名单的流量,都必须经过代理出口。

🏗️ 骨架:三层隔离架构

为了实现精准白名单,我们不使用扁平的规则列表,而是采用三层阶梯分流。这种结构在 Mihomo 内核中执行效率极高,且逻辑清晰:

层级 策略组名称 承担职责 匹配逻辑
Layer 1 🏠 国内白名单 纯直连 命中域名规则的流量直接放行,不经代理。
Layer 2 🔒 漏网之鱼 代理出口 核心策略组。Layer 1 未命中的流量进入此处,必须走代理。
Layer 3 🚀 最终代理 节点选择 承载所有代理流量,可以是手动选择或自动测速。

这种设计杜绝了因规则遗漏导致流量直接走 DIRECT 的风险。所有非白名单流量都会进入 🔒 漏网之鱼,从而被你精准控制。

图片
图:三层白名单流量流向示意


🧬 肉:白名单规则集的构建与调优

我们不手写成千上万条域名,而是借用社区维护的高质量规则集。白名单的关键在于覆盖中国核心网络基础设施

1. 核心规则集定义

rule-providers 中,引入两个关键规则集:直连列表与局域网列表。

rule-providers:
  # 局域网与私有地址
  private:
    type: http
    behavior: classical
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400

中国网络白名单(核心)

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

2. 扩展你的白名单

社区规则集可能缺少特定内网域名,可通过本地规则集补充:

  # 自定义本地白名单
  custom-direct:
    type: file
    behavior: classical
    path: ./ruleset/my-direct.yaml
    interval: 86400

本地 my-direct.yaml 文件内容示例:

payload:
  - 'internal.company.com'
  - '+.corp-vpn.net'

🔗 血:与 DNS 防泄漏的无缝联动

白名单体系如果不配合 DNS 分流,就是空中楼阁。如果白名单外的域名去请求了国内 DNS,不仅会泄漏访问记录,还可能被 DNS 污染。请务必启用 Fake-IP 模式,并让 DNS 分流逻辑与规则分流逻辑保持同构

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16

白名单域名强制使用国内 DNS

nameserver-policy: "rule-set:private,tld-cn,rule-set:direct-list": - tls://223.5.5.5 - tls://119.29.29.29

其他所有域名走加密代理 DNS

nameserver: - tls://dns.quad9.net - https://dns.cloudflare.com/dns-query

策略联动解读:当浏览器请求 www.google.com 时,它不在 direct-list 中,因此被 nameserver-policy 排除,Mihomo 将使用代理节点去 dns.cloudflare.com 解析,确保返回真实 IP 且不被污染。更深层攻防细节见 DNS 防泄漏终极方案


🚀 实战:生产级白名单模板

以下模板结合了三层架构与 DNS 白名单分流,实现“无规则不直连”的严格标准。

# ============================================
# 白名单体系配置模板
# ============================================

proxy-groups:

  • name: 🏠 国内白名单 type: select proxies: [DIRECT]

  • name: 🔒 漏网之鱼 type: select proxies: [🚀 代理出口, DIRECT]

  • name: 🚀 代理出口 type: select use: [provider-main] proxies: [♻️ 自动测速]

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

rules:

  • RULE-SET,private,🏠 国内白名单
  • RULE-SET,direct-list,🏠 国内白名单

- DOMAIN-SUFFIX,your-intranet.com,🏠 国内白名单

  • MATCH,🔒 漏网之鱼

🛑 拓展:TUN 模式下的白名单暴力拦截

如果你使用了 TUN 模式进行全局代理,白名单的价值会更加凸显。我们可以让非白名单的 IP 流量直接被系统丢弃,而不是走代理,从而实现真正的“物理断网级”隐私保护。结合 TUN 深度优化指南 效果更佳。

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true

进阶玩法:结合 AI 网站智能分流,可以将 ChatGPT 等 AI 流量加入到“漏网之鱼”层之上的特定策略组,实现“白名单优先,AI 优先”的双重高阶分流。


⚙️ 下一步:高级场景进阶

掌握白名单体系后,可尝试以下深度调优:

  • 性能压榨:当规则集达到数万条时,利用 Mihomo 内核调优 中的 Sniffer 功能,避免不必要的域名匹配开销。
  • 保持更新:定期查看 Releases 页面,让 Mihomo 内核与社区规则集始终保持最新。
  • 回溯基础:如果对代理基础仍有疑问,可回顾 安装教程 中的核心概念。

⬅️ 返回配置教程 · 返回 Wiki 首页


本教程为 clash-verge2026/clash-verge-rev-omni-guide 官方 Wiki 的一部分,欢迎提交 Pull Request 分享你的白名单方案。

Clone this wiki locally