OpenClash 配置手册
你可以按下面的顺序阅读:
- 先用最短时间把 OpenClash 配好并直接用起来
- 再看怎么自己添加“直连”和“代理”规则
- 最后再了解这两份 YAML 已经内置好的几个常见场景,例如文献库直连、自定义分流、LinkedIn 修复和 GitHub SSH
22
先看结论
现在你只需要在下面 2 份 OpenClash YAML 里选一份:
| 文件 | 适合谁 | 界面要求 |
|---|---|---|
| config_linkedin_auto.yaml | 大多数人 | 保持 fake-ip 思路,关闭“绕过大陆”和 DNS 覆写类选项 |
| config_linkedin_auto_ssh22_redir.yaml | GitHub SSH 22 端口握手异常的人 | 使用 Redir/redir-host,关闭 TUN,同时保留 LinkedIn 配置 |
这两份配置的共同特点是:
- 支持用户自己在
rules:里继续加直连或代理规则 - 已经内置了文献库直连思路,减少下载论文时频繁切换代理
- 已经处理了 LinkedIn 国际版访问问题
- 推荐版默认使用自动故障切换,日常不需要频繁手动切节点
如果你只是想正常代理上网,并能稳定打开国际版 LinkedIn,直接用 config_linkedin_auto.yaml。
只有在下面这种情况才切到 config_linkedin_auto_ssh22_redir.yaml:
ssh -T git@github.com
仍然报 Connection closed by remote host、kex_exchange_identification 之类的 22 端口握手错误。
OpenClash 是什么
如果你是第一次接触 OpenClash,可以先把它理解成:
- OpenWrt / ImmortalWrt 上常见的代理插件
- 用来统一管理订阅、节点、DNS、分流规则和策略组
- 配好之后,你可以直接决定哪些网站直连,哪些网站走代理
对大多数用户来说,OpenClash 最常用的作用就是:
- 管理机场订阅和节点
- 让家里设备统一走代理或分流
- 把常见网站按规则分成直连、代理、指定分组
你不需要一开始就把所有原理都搞清楚。先装好插件、导入 YAML、确认几个界面设置,就已经可以正常使用。
怎么下载和安装 OpenClash
安装前先确认两件事:
- 你的系统是
24.10 及更早,还是25.12 及更新 - 你拿到的安装包是否和系统版本、设备架构匹配
常见安装方式有两种。
方式 1:直接从系统里安装
如果你的固件源里已经有 OpenClash,可以直接安装。
24.10 及更早稳定版:
opkg update
opkg install luci-app-openclash
25.12 及更新版本:
apk update
apk add luci-app-openclash
方式 2:先下载安装包,再手动安装
如果你的系统源里没有 OpenClash,更常见的做法是先下载与你系统匹配的插件安装包,再手动安装。
安装时重点看这几件事:
- 插件版本是否适配你的 OpenWrt / ImmortalWrt 版本
- 安装包架构是否和你的设备一致
- 不要把旧的
opkg/.ipk安装方法直接套到新的apk路线
常见安装命令:
# 24.10 及更早
opkg install /tmp/example.ipk
# 25.12 及更新
apk add --allow-untrusted /tmp/example.apk
安装完成后,通常可以在 LuCI 后台的:
服务 -> OpenClash
看到插件入口。
如果你之前见过旧版的 4 份文件
如果你之前见过旧版的 4 份文件,可以这样理解:
| 旧文件 | 原来作用 | 现在状态 |
|---|---|---|
config.yaml | 最早的基础模板,曾尝试用 nameserver-policy 修 LinkedIn | 已废弃,可删除 |
config_linkedin.yaml | 在基础模板上改 LinkedIn,但仍偏手动切节点 | 已废弃,可删除 |
config_linkedin_auto.yaml | 在 LinkedIn 修复版基础上,把常用分组改成自动故障切换 | 当前推荐 |
config_linkedin_auto_ssh22_redir.yaml | 在自动版基础上,额外处理 GitHub SSH 22 端口 | 当前保留 |
也就是说,现在不用再让用户在 config.yaml 和 config_linkedin.yaml 之间纠结了。
先判断你的系统版本
先 SSH 进去执行:
cat /etc/openwrt_release
重点看 DISTRIB_RELEASE:
24.10.x、23.x、更早稳定版:按opkg路线25.12.x、后续新版本:按apk路线
常见命令:
# 24.10 及更早
opkg update
opkg install <package-name>
# 25.12 及更新
apk update
apk add <package-name>
不要把旧教程里的 opkg install 直接照搬到 25.12+。
准备 YAML
打开你要使用的配置文件,先把订阅链接改掉:
proxy-providers:
Airport1:
url: "这里填写机场订阅"
只改这里即可,其余 LinkedIn 和 DNS 相关内容不要先动。
导入到 OpenClash
导入顺序很简单:
- 打开
OpenClash - 进入
配置文件订阅或配置文件管理 - 上传 YAML,或者把 YAML 放到 OpenClash 配置目录后在界面里选择
- 切换到这份配置
- 应用配置并启动 OpenClash
真正关键的不在“上传”,而在下面这些界面开关。
导入后先确认这些界面设置
这一步应该先做。目标很简单:先把它用起来,再考虑后面按自己需求加规则。
必须确认的界面设置
- 关闭“绕过中国大陆 / 绕过大陆”相关功能。
原因不是这份 YAML 不做大陆直连,而是 OpenClash 界面里的这套功能会在插件层额外接管流量逻辑,可能导致 LinkedIn 还没按 YAML 里的排除规则处理,就先被系统链路改写,最终又跳回 linkedin.cn。
- 关闭 DNS 覆写相关选项。
至少确认这些是关闭状态:
自定义上游 DNS 服务器遵循规则(Respect-Rules)追加上游 DNS追加默认 DNS- 其他会覆盖配置文件 DNS 的选项
- 不要把这份配置改成
redir-host。
这份 YAML 按 fake-ip 思路写的,LinkedIn 的修复依赖这一套 DNS / fake-ip / rule 组合,不建议再手动改成 redir-host。
这份 YAML 实际做了什么
它并不是“特殊为 LinkedIn 单开一套完全不同的代理逻辑”,而是在原本“大陆直连 / 非大陆代理”的分流基础上,额外做了 3 件事:
- 在
fake-ip-filter里排除了 LinkedIn - 在
cn_domain规则集中排除了 LinkedIn - 在
rules:里把linkedin.com、linkedin.cn、licdn.com、lnkd.in单独指定到🚀 默认代理
所以正常情况下:
- 大陆站点仍然走直连
- 其他非大陆站点仍然按原策略走代理
- LinkedIn 不会被“绕大陆”逻辑错误带回中国站
为什么现在不默认启用 nameserver-policy
当前方案里,nameserver-policy 只是备用兜底,不是必需项。
实测只要:
- 保留
fake-ip-filter中这条规则
geosite:cn:!linkedin.com:!linkedin.cn:!*.linkedin.com:!*.linkedin.cn - 关闭“绕过大陆”
- 关闭 DNS 覆写
就能正常访问国际版 LinkedIn。
而且目前这套配置里,直接使用运营商 DNS 往往比强行指定 1.1.1.1、8.8.8.8 更快。
到这里就可以安心使用了
如果你只是想先把 OpenClash 配好并正常使用,那么做到前面第 1 到第 3 步就已经够了。
也就是说,到这里你已经可以:
- 正常导入并启用配置
- 直接开始代理上网
- 使用当前 YAML 内置的默认分流能力
后面的内容属于进阶配置。你可以按自己的需求自查:
- 想自己额外添加直连或代理规则
- 想理解 Steam、文献库、LinkedIn、SSH
22这些场景是怎么实现的 - 想在现有 YAML 基础上继续按自己的使用习惯微调
进阶配置:自己改 rules:
真正值得掌握的,不是“怎么上传 YAML”,而是“以后我想让哪个网站直连,哪个网站走代理,应该加到哪里”。
结论先说:
- 主要改
rules:区块 - 你自己新增的规则,尽量放在前面
- 通用
RULE-SET往往放在后面,所以你的自定义规则应该写在它们前面
应该加在哪里
就在 YAML 的 rules: 下面加,优先放在 # Custom 附近,也就是这些通用规则之前:
rules:
# 先放你自己的规则
- DOMAIN-SUFFIX,example.edu,DIRECT
- DOMAIN-SUFFIX,example.com,🚀 默认代理
# 后面才是通用规则集
- RULE-SET,private_ip,直连
- RULE-SET,private_domain,直连
原因很简单:OpenClash 按“从上到下”匹配,前面命中就不会继续往后看。
最常用的格式怎么写
- 整站或某个主域名都按同一策略处理
用 DOMAIN-SUFFIX:
- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-SUFFIX,example.com,🚀 默认代理
适合:
linkedin.comnature.comsteamserver.net
- 只匹配一个精确域名
用 DOMAIN:
- DOMAIN,sub.example.com,DIRECT
- DOMAIN,api.example.com,🤖 ChatGPT
适合只想命中某一个子域名,而不想影响整个主域名的场景。
- 按 IP 段处理
用 IP-CIDR:
- IP-CIDR,1.2.3.0/24,DIRECT,no-resolve
这类写法一般用于你已经明确知道某段 IP 必须直连或必须代理的情况。
- 按端口处理
用 DST-PORT:
- DST-PORT,22,DIRECT
这就是 GitHub SSH 22 修复版里使用的写法。
规则最后一列填什么
最后一列就是“交给哪个策略组”:
DIRECT或直连:直接连接,不走代理🚀 默认代理:交给默认代理组🤖 ChatGPT:交给 ChatGPT 分组👨🏿💻 GitHub:交给 GitHub 分组
如果你只是想让某个网站正常翻墙,通常直接写到 🚀 默认代理 就够了。
给几个最常见的例子
- 学校或机构网站直连
- DOMAIN-SUFFIX,example.edu.cn,DIRECT
- DOMAIN-SUFFIX,library.example.edu,DIRECT
- 某些 AI 或海外服务强制代理
- DOMAIN-SUFFIX,openai.com,🤖 ChatGPT
- DOMAIN-SUFFIX,anthropic.com,🚀 默认代理
- 某个下载站直连,但官网走代理
- DOMAIN-SUFFIX,download.example.com,DIRECT
- DOMAIN-SUFFIX,www.example.com,🚀 默认代理
- 只给单一端口直连
- DST-PORT,22,DIRECT
改完后怎么生效
- 保存 YAML
- 重新上传到 OpenClash,或者替换当前配置文件
- 在 OpenClash 里重新应用或重载配置
如果改了规则但没重载,效果通常不会立刻变化。
这两份 YAML 已经内置了哪些常见场景
前面讲的是你以后怎么自己加规则。下面这些是当前 YAML 已经带好的常见用法,按需了解即可。
1. Steam:商店代理,下载直连
这类需求的核心不是“所有 Steam 流量都必须同一种处理方式”,而是不同部分按用途分开:
- 商店、社区、海外页面可以走代理
- 下载分发、国内游戏相关资源尽量直连
这样做的好处是:
- 浏览和访问海外页面更稳定
- 下载速度通常更合适
- 不需要频繁手动在“全局代理 / 直连”之间来回切
当前配置里已经内置了这类直连规则,例如:
- GEOSITE,category-games@cn,DIRECT
- DOMAIN-SUFFIX,steamserver.net,DIRECT
- DOMAIN-SUFFIX,cm.steampowered.com,DIRECT
如果你后续还想补更多 Steam 相关规则,就继续按前面 rules: 的写法追加即可。
2. 文献库直连
这里的思路不是“为了省代理流量”,而是让文献站点尽量直接识别你当前校园网、机构网或已有授权网络的出口 IP。
这样做的实际意义是:
- 打开文献库时更容易被识别为学校或机构网络
- 下载论文时不需要频繁手动关代理、开代理来回切换
- 避免出现“首页能打开,但 PDF 下载权限识别不对”的情况
当前配置里已经内置了这些直连示例:
- DOMAIN-SUFFIX,dl.acm.org,DIRECT
- DOMAIN-SUFFIX,ieeexplore.ieee.org,DIRECT
- DOMAIN-SUFFIX,sciencedirect.com,DIRECT
- DOMAIN-SUFFIX,nature.com,DIRECT
- DOMAIN-SUFFIX,science.org,DIRECT
如果你学校还有别的数据库、图书馆站点,也按同样方式往 rules: 里加即可。
3. LinkedIn 国际版访问
LinkedIn 只是这份配置的一个现成场景,不是整篇文档的重点。
它当前的处理方式是:
- 保留“大陆直连 / 非大陆代理”的主分流思路
- 但把 LinkedIn 从大陆分流逻辑里单独排除
- 再通过显式规则让
linkedin.com、linkedin.cn、licdn.com、lnkd.in走🚀 默认代理
因此只要不乱改 DNS、fake-ip-filter、cn_domain 和 LinkedIn 规则,通常就可以稳定访问国际版 LinkedIn。
什么时候用 config_linkedin_auto_ssh22_redir.yaml
只有你明确遇到 GitHub SSH 22 端口问题时,才切到这一份。
典型现象:
ssh -vvT git@github.com
出现:
kex_exchange_identification: Connection closed by remote host
Connection closed by 20.205.x.x port 22
这份 SSH22 配置比默认版多了什么
它在保留 LinkedIn 配置的同时,额外做了两件事:
tun.enable: false- 在
rules:前部加入DST-PORT,22,DIRECT
界面里要怎么配
- 配置文件选择 config_linkedin_auto_ssh22_redir.yaml
OpenClash -> 模式设置中使用Redir或redir-host- 不要开启
TUN - 仍然关闭“绕过中国大陆 / 绕过大陆”
- 仍然关闭 DNS 覆写相关选项
如果你没有遇到 SSH 22 问题,继续使用默认推荐的 config_linkedin_auto.yaml 即可。
哪些配置不要乱动
如果你当前 LinkedIn 已经正常,就尽量不要随便改下面这些地方:
dns:整块fake-ip-filter里的 LinkedIn 排除项cn_domain的 LinkedIn 过滤rules:里 LinkedIn 的单独代理规则
这些内容是联动的。只改其中一处,最容易把“又跳到中国站”“又不按预期分流”重新改回来。
常见问题
1. 为什么我还是在手动切节点
先检查两件事:
- 你导入的是不是 config_linkedin_auto.yaml
- 当前生效配置是不是它,而不是旧配置
2. 为什么 LinkedIn 又跳到中国区了
优先看这几项:
- 有没有把“绕过大陆”重新打开
- 有没有开启 DNS 覆写
- 有没有改动
fake-ip-filter、cn_domain、LinkedIn 规则
3. 为什么 GitHub SSH 还是不通
确认这 4 项是不是同时满足:
- 使用的是 config_linkedin_auto_ssh22_redir.yaml
- OpenClash 模式已经切到
Redir/redir-host TUN已关闭DST-PORT,22,DIRECT没被删掉
官方参考
- OpenWrt
apk文档:https://openwrt.org/docs/guide-user/additional-software/apk - OpenWrt
opkg文档:https://openwrt.org/docs/guide-user/additional-software/opkg - OpenWrt
opkg -> apk对照表:https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet - OpenClash 维护参考:https://blog.dreamtobe.cn/openclash_maintain/
- 自定义 OpenClash 规则参考:https://github.com/Aethersailor/Custom_OpenClash_Rules
图示
- OpenClash 更新

- OpenClash 备份
