第 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 host、kex_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.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>

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.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 更快。

基础配置验收

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

  • 正常导入并启用配置
  • 直接开始代理上网
  • 使用当前 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.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

SSH22 模板界面设置

  1. 配置文件选择 config_linkedin_auto_ssh22_redir.yaml
  2. OpenClash -> 模式设置 中使用 Redir 或 redir-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-filter、cn_domain、LinkedIn 规则

3. GitHub SSH 仍无法连接

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

官方参考