Clash 链式代理教程:什么时候需要?怎么配置?
链式代理听起来很高级,但其实原理很简单:让你的流量经过多个代理服务器,而不是只经过一个。
这篇文章会告诉你:什么时候需要链式代理,以及如何在 Clash 中配置它。
什么是链式代理?
普通代理 vs 链式代理
普通代理(单跳):
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 你的设备 │ ───▶ │ 代理服务器 │ ───▶ │ 目标网站 │
│ (电脑) │ │ (香港节点) │ │ (Google) │
└──────────┘ └──────────┘ └──────────┘链式代理(多跳):
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 你的设备 │ ───▶│ 代理服务器1 │ ───▶ │ 代理服务器2│ ───▶ │ 目标网站 │
│ (电脑) │ │ (公司代理) │ │ (香港节点) │ │ (Google) │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
第一跳 第二跳简单说,链式代理就是让流量「接力」通过多个代理服务器。
什么情况下需要链式代理?
场景 1:公司/学校内网需要出海
问题:公司网络必须走公司代理才能上网,但公司代理无法访问外网。
解决方案:先走公司代理,再走你的加速代理。
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 你的电脑 │ ───▶ │ 公司代理 │ ───▶ │ 加速线路 │ ───▶ │ Google │
│ │ │ (必须经过) │ │ (出海) │ │ Youtube │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │ │
└─────────────────┴──────────────────┘
这就是「链式代理」的典型场景场景 2:隐藏真实 IP,增强隐私
问题:担心目标网站或中间节点记录你的真实 IP。
解决方案:流量经过多个节点,每个节点只知道上一跳和下一跳,无法追踪到你。
目标网站看到的 IP:代理服务器2 的 IP
代理服务器2 看到的:代理服务器1 的 IP
代理服务器1 看到的:你的 IP
─────────────────────────────────────────
结果:目标网站无法直接获取你的真实 IP场景 3:突破双重封锁
问题:某些网站不仅被 GFW 封锁,还封禁了常见机场 IP(如 ChatGPT、Netflix)。
解决方案:先用普通线路出海,再用干净的住宅 IP 访问目标网站。
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 你的电脑 │ ───▶ │ 加速线路 │ ───▶ │ 住宅代理 │ ───▶ │ ChatGPT │
│ │ │ (出海) │ │ (干净IP) │ │ Gemini │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
第一跳:过墙 第二跳:换IP场景 4:中转加速
问题:直连某个节点延迟太高或不稳定。
解决方案:先连到一个中转节点,再连到目标节点,优化线路。
直连效果差:
你 ─────────────────────────────────────▶ 美国节点 (延迟 300ms)
链式中转:
你 ───▶ 香港中转 ───▶ 美国节点 (延迟 150ms)
└─ 线路优化 ─┘一句话判断:你需要链式代理吗?
| 你的情况 | 需要链式代理? |
|---|---|
| 公司/学校网络必须走内网代理 | ✅ 需要 |
| 想隐藏真实 IP,增强隐私 | ✅ 需要 |
| 线路 IP 被目标网站封了 | ✅ 需要 |
| 直连线路延迟太高,想中转加速 | ✅ 需要 |
| 普通出海,访问 Google/YouTube | ❌ 不需要 |
| 日常使用,没有特殊需求 | ❌ 不需要 |
大多数人不需要链式代理。如果你只是日常出海看 YouTube、刷 Twitter,普通代理就够了。
如何在 Clash 中配置链式代理
Clash 支持两种方式实现链式代理:
方式一:使用 proxy-groups 的 relay 类型(推荐)
这是 Clash 原生支持的链式代理方式,配置简单。
yaml
proxies:
# 第一跳:公司代理 / 前置代理
- name: "前置代理"
type: http
server: proxy.company.com
port: 8080
# username: "user" # 如果需要认证
# password: "pass"
# 第二跳:机场节点
- name: "香港节点"
type: vmess
server: hk.example.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
proxy-groups:
# 链式代理组:流量依次经过列表中的节点
- name: "链式代理"
type: relay
proxies:
- 前置代理 # 第一跳
- 香港节点 # 第二跳(最终出口)
rules:
- MATCH,链式代理重点解释:
type: relay表示这是一个链式代理组proxies列表按顺序排列,流量会依次经过- 顺序很重要:第一个是入口,最后一个是出口
方式二:使用 dialer-proxy 字段
某些节点支持在定义时直接指定前置代理:
yaml
proxies:
# 前置代理
- name: "公司代理"
type: http
server: proxy.company.com
port: 8080
# 使用 dialer-proxy 指定前置代理
- name: "香港节点-链式"
type: vmess
server: hk.example.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
dialer-proxy: "公司代理" # 指定前置代理这种方式会让「香港节点-链式」的连接先经过「公司代理」。
完整配置示例:公司内网出海
假设你的公司网络必须通过 proxy.company.com:8080 才能访问外网:
yaml
# ============================================
# Clash 链式代理配置示例 - 公司内网出海
# ============================================
proxies:
# 公司 HTTP 代理(必须经过)
- name: "公司代理"
type: http
server: proxy.company.com
port: 8080
username: "your_username" # 如果需要
password: "your_password" # 如果需要
# 你的机场节点
- name: "香港-IPLC"
type: vmess
server: hk-iplc.airport.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
- name: "日本-标准"
type: trojan
server: jp.airport.com
port: 443
password: your_trojan_password
sni: jp.airport.com
proxy-groups:
# 链式代理:公司代理 → 机场节点
- name: "🔗 链式-香港"
type: relay
proxies:
- 公司代理
- 香港-IPLC
- name: "🔗 链式-日本"
type: relay
proxies:
- 公司代理
- 日本-标准
# 选择器:选择用哪条链
- name: "🚀 节点选择"
type: select
proxies:
- 🔗 链式-香港
- 🔗 链式-日本
rules:
# 公司内网直连
- DOMAIN-SUFFIX,company.com,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
# 其他走链式代理
- MATCH,🚀 节点选择完整配置示例:隐藏 IP 访问 ChatGPT
yaml
proxies:
# 第一跳:普通加速线路(出海)
- name: "美国-加速"
type: vmess
server: us.airport.com
port: 443
uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
alterId: 0
cipher: auto
tls: true
# 第二跳:住宅代理(干净 IP)
- name: "美国-住宅IP"
type: socks5
server: residential.proxy.com
port: 1080
username: "user"
password: "pass"
proxy-groups:
# ChatGPT 专用链式代理
- name: "🤖 ChatGPT专线"
type: relay
proxies:
- 美国-加速 # 先出海
- 美国-住宅IP # 再换干净 IP
- name: "🚀 默认代理"
type: select
proxies:
- 美国-机场
rules:
# ChatGPT 走专用链式代理
- DOMAIN-SUFFIX,openai.com,🤖 ChatGPT专线
- DOMAIN-SUFFIX,chatgpt.com,🤖 ChatGPT专线
# 其他走普通代理
- GEOIP,CN,DIRECT
- MATCH,🚀 默认代理链式代理原理图
数据流向
请求数据流向:
┌─────────┐ 加密1 ┌─────────┐ 加密2 ┌─────────┐
│ Clash │ ──────────▶ │ 节点1 │ ──────────▶ │ 节点2 │ ──▶ 目标网站
└─────────┘ └─────────┘ └─────────┘
响应数据流向:
┌─────────┐ 解密1 ┌─────────┐ 解密2 ┌─────────┐
│ Clash │ ◀────────── │ 节点1 │ ◀────────── │ 节点2 │ ◀── 目标网站
└─────────┘ └─────────┘ └─────────┘各节点能看到什么?
┌─────────────────────────────────────────────────────────────┐
│ 链式代理 │
│ │
│ 你 ───▶ 节点1 ───▶ 节点2 ───▶ 目标网站 │
│ │
│ 节点1 知道:你的 IP、节点2 的地址 │
│ 节点1 不知道:目标网站是什么 │
│ │
│ 节点2 知道:节点1 的 IP、目标网站 │
│ 节点2 不知道:你的真实 IP │
│ │
│ 目标网站 知道:节点2 的 IP │
│ 目标网站 不知道:你的 IP、节点1 的存在 │
└─────────────────────────────────────────────────────────────┘常见问题
Q: 链式代理会不会很慢?
会有一定影响,因为数据要经过更多的节点。但如果链路选择得当(比如都是低延迟节点),影响不大。
建议:
- 链式代理的节点数量控制在 2-3 个
- 尽量选择物理位置接近的节点作为中转
Q: 所有类型的节点都支持链式代理吗?
大部分支持,包括:
- ✅ VMess
- ✅ Trojan
- ✅ Shadowsocks
- ✅ SOCKS5
- ✅ HTTP
部分协议的某些功能可能有限制,建议实际测试。
Q: 链式代理安全吗?
比单节点更安全,因为:
- 没有任何一个节点能同时知道「你是谁」和「你访问什么」
- 即使某个节点被监控,也无法还原完整链路
但不是绝对安全,如果所有节点都被同一方控制,链式代理的隐私保护就失效了。
Q: relay 和 dialer-proxy 有什么区别?
| 方式 | 适用场景 | 灵活性 |
|---|---|---|
relay | 需要对不同规则使用不同链路 | 高,可以在规则中灵活切换 |
dialer-proxy | 某个节点固定需要前置代理 | 低,但配置更简洁 |
一般推荐使用 relay,更灵活。
