第 4 步

OpenClash 配置手册

本文适用于基础网络已经正常的环境。开始配置前,应确认关闭 OpenClash 时路由器和客户端均可访问互联网;否则先完成快速安装指南中的网络验证。

10 分钟阅读更新于 2026年8月10日代理与直连规则正常生效
本页目录
  1. 选择配置模板
  2. OpenClash 功能
  3. 下载并安装 OpenClash
  4. 方式 1:直接从系统里安装
  5. 方式 2:下载安装包并手动安装
  6. 旧版配置文件说明
  7. 确认系统版本
  8. 准备 YAML
  9. 导入到 OpenClash
  10. 导入后的界面设置
  11. 必须确认的界面设置
  12. 配置内容说明
  13. nameserver-policy 的使用条件
  14. 基础配置验收
  15. 自定义 rules: 规则
  16. 应该加在哪里
  17. 常用规则格式
  18. 策略组字段

OpenClash 配置手册

本文适用于基础网络已经正常的环境。开始配置前,应确认关闭 OpenClash 时路由器和客户端均可访问互联网;否则先完成快速安装指南中的网络验证

验收结果:OpenClash 正常运行;直连和代理网站均可访问;关闭 OpenClash 后基础网络仍然正常。

建议按以下顺序阅读:

  • 选择并导入适用的 YAML 模板
  • 配置 OpenClash 界面选项
  • 根据需要添加直连或代理规则
  • 查阅文献库、LinkedIn 和 GitHub SSH 22 等场景说明

选择配置模板

本仓库提供以下 3 份 OpenClash YAML:

文件适合谁界面要求
config_linkedin_auto.yaml单订阅用户使用 fake-ip 模式,关闭绕过大陆和 DNS 覆写类选项
config_multi-airport_linkedin.yaml有两个订阅、需要跨订阅故障切换的人分别填写两个订阅;先确认每个订阅都能单独更新
config_linkedin_auto_ssh22_redir.yamlGitHub SSH 22 端口握手异常的人使用 Redir/redir-host,关闭 TUN,同时保留 LinkedIn 配置

这些配置的共同特点是:

  • 支持用户自己在 rules: 里继续加直连或代理规则
  • 已经内置了文献库直连思路,减少下载论文时频繁切换代理
  • 已经处理了 LinkedIn 国际版访问问题
  • 推荐版默认使用自动故障切换,日常不需要频繁手动切节点

单订阅使用 config_linkedin_auto.yaml。两个订阅需要故障切换时使用多订阅模板。没有多订阅需求时无需增加相应配置。

只有在下面这种情况才切到 config_linkedin_auto_ssh22_redir.yaml

ssh -T git@github.com

仍然报 Connection closed by remote hostkex_exchange_identification 之类的 22 端口握手错误。

OpenClash 功能

OpenClash 是 OpenWrt / ImmortalWrt 上的代理管理插件,主要功能包括:

  • 管理订阅和代理节点
  • 配置 DNS、分流规则和策略组
  • 按域名、IP 或端口指定直连与代理策略

完成插件安装、YAML 导入和界面选项设置后,即可使用模板提供的默认分流规则。

下载并安装 OpenClash

安装前先确认两件事:

  1. 你的系统是 24.10 及更早,还是 25.12 及更新
  2. 你拿到的安装包是否和系统版本、设备架构匹配

常见安装方式有两种。

方式 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

看到插件入口。

OpenClash 版本更新页面
进入 OpenClash 后,可在版本更新页核对处理器架构、内核版本和客户端版本。安装包架构应与设备一致。

旧版配置文件说明

旧版仓库中曾包含 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.yamlconfig_linkedin.yaml 已废弃,不再作为配置入口。

确认系统版本

通过 SSH 执行:

cat /etc/openwrt_release

重点看 DISTRIB_RELEASE

  • 24.10.x23.x、更早稳定版:按 opkg 路线
  • 25.12.x、后续新版本:按 apk 路线

常见命令:

# 24.10 及更早
opkg update
opkg install <package-name>

# 25.12 及更新
apk update
apk add <package-name>

OpenWrt 25.12 及更新版本不使用 opkg install

准备 YAML

打开需要使用的配置文件,填写订阅链接:

proxy-providers:
  Airport1:
    url: "这里填写你的订阅链接"

首次导入时仅修改订阅字段,保留 LinkedIn 和 DNS 的默认配置。

多机场模板有两个同样的 url 字段,分别填入两个订阅。不要把含真实订阅链接的 YAML 提交到公开仓库;如果已经公开,应立即重置订阅链接并清理 Git 历史。

导入到 OpenClash

按以下顺序导入:

  1. 打开 OpenClash
  2. 进入 配置文件订阅配置文件管理
  3. 上传 YAML,或者把 YAML 放到 OpenClash 配置目录后在界面里选择
  4. 切换到这份配置
  5. 应用配置并启动 OpenClash
OpenClash 配置管理页面
配置管理页面提供 YAML 上传和当前配置备份。切换配置前建议先备份现有文件。

上传完成后还需检查 OpenClash 的界面选项。

导入后的界面设置

先完成以下界面设置,再根据需要添加自定义规则。

必须确认的界面设置

  1. 关闭 绕过中国大陆绕过大陆 相关功能。

原因不是这份 YAML 不做大陆直连,而是 OpenClash 界面里的这套功能会在插件层额外接管流量逻辑,可能导致 LinkedIn 还没按 YAML 里的排除规则处理,就先被系统链路改写,最终又跳回 linkedin.cn

  1. 关闭 DNS 覆写相关选项。

至少确认这些是关闭状态:

  • 自定义上游 DNS 服务器
  • 遵循规则(Respect-Rules)
  • 追加上游 DNS
  • 追加默认 DNS
  • 其他会覆盖配置文件 DNS 的选项
  1. 保持 fake-ip 模式。

这份 YAML 按 fake-ip 思路写的,LinkedIn 的修复依赖这一套 DNS / fake-ip / rule 组合,不建议再手动改成 redir-host

配置内容说明

该模板在大陆直连、非大陆代理的基础规则上增加了以下配置:

  1. fake-ip-filter 里排除了 LinkedIn
  2. cn_domain 规则集中排除了 LinkedIn
  3. rules: 里把 linkedin.comlinkedin.cnlicdn.comlnkd.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.18.8.8.8 更快。

基础配置验收

完成前述安装、导入和界面设置后,应确认:

  • 正常导入并启用配置
  • 直接开始代理上网
  • 使用当前 YAML 内置的默认分流能力

后续章节介绍以下自定义配置:

  • 想自己额外添加直连或代理规则
  • 想理解 Steam、文献库、LinkedIn、SSH 22 这些场景是怎么实现的
  • 想在现有 YAML 基础上继续按自己的使用习惯微调

自定义 rules: 规则

自定义域名、IP 或端口的分流策略时,主要修改 rules: 区块:

  • 主要改 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 按从上到下的顺序匹配规则,命中后不再继续匹配。

常用规则格式

  1. 整站或某个主域名都按同一策略处理

DOMAIN-SUFFIX

- DOMAIN-SUFFIX,example.com,DIRECT
- DOMAIN-SUFFIX,example.com,🚀 默认代理

适合:

  • linkedin.com
  • nature.com
  • steamserver.net
  1. 只匹配一个精确域名

DOMAIN

- DOMAIN,sub.example.com,DIRECT
- DOMAIN,api.example.com,🤖 ChatGPT

适合只想命中某一个子域名,而不想影响整个主域名的场景。

  1. 按 IP 段处理

IP-CIDR

- IP-CIDR,1.2.3.0/24,DIRECT,no-resolve

这类写法一般用于你已经明确知道某段 IP 必须直连或必须代理的情况。

  1. 按端口处理

DST-PORT

- DST-PORT,22,DIRECT

这就是 GitHub SSH 22 修复版里使用的写法。

策略组字段

每条规则的最后一个字段用于指定策略组:

  • DIRECT直连:直接连接,不走代理
  • 🚀 默认代理:交给默认代理组
  • 🤖 ChatGPT:交给 ChatGPT 分组
  • 👨🏿‍💻 GitHub:交给 GitHub 分组

如果你只是想让某个网站正常翻墙,通常直接写到 🚀 默认代理 就够了。

配置示例

  1. 学校或机构网站直连
- DOMAIN-SUFFIX,example.edu.cn,DIRECT
- DOMAIN-SUFFIX,library.example.edu,DIRECT
  1. 某些 AI 或海外服务强制代理
- DOMAIN-SUFFIX,openai.com,🤖 ChatGPT
- DOMAIN-SUFFIX,anthropic.com,🚀 默认代理
  1. 某个下载站直连,但官网走代理
- DOMAIN-SUFFIX,download.example.com,DIRECT
- DOMAIN-SUFFIX,www.example.com,🚀 默认代理
  1. 只给单一端口直连
- DST-PORT,22,DIRECT

应用规则变更

  1. 保存 YAML
  2. 重新上传到 OpenClash,或者替换当前配置文件
  3. 在 OpenClash 里重新应用或重载配置

如果改了规则但没重载,效果通常不会立刻变化。

模板内置场景

以下场景已经写入当前模板,可根据实际需要保留或调整。

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.comlinkedin.cnlicdn.comlnkd.in🚀 默认代理

因此只要不乱改 DNS、fake-ip-filtercn_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

SSH22 模板界面设置

  1. 配置文件选择 config_linkedin_auto_ssh22_redir.yaml
  2. OpenClash -> 模式设置 中使用 Redirredir-host
  3. 不要开启 TUN
  4. 关闭 绕过中国大陆绕过大陆
  5. 仍然关闭 DNS 覆写相关选项

如果你没有遇到 SSH 22 问题,继续使用默认推荐的 config_linkedin_auto.yaml 即可。

关联配置项

以下配置共同决定 LinkedIn 的 DNS 与分流行为,应在明确影响范围后再修改:

  • dns: 整块
  • fake-ip-filter 里的 LinkedIn 排除项
  • cn_domain 的 LinkedIn 过滤
  • rules: 里 LinkedIn 的单独代理规则

只修改其中一项可能导致 LinkedIn 跳转到中国站或分流规则失效。

常见问题

1. 自动故障切换未生效

先检查两件事:

2. LinkedIn 跳转到中国站

优先看这几项:

  • 绕过大陆功能是否已重新开启
  • 有没有开启 DNS 覆写
  • 有没有改动 fake-ip-filtercn_domain、LinkedIn 规则

3. GitHub SSH 仍无法连接

确认这 4 项是不是同时满足:

官方参考