OpenClash 使用教程:路由器安装、导入订阅、Fake-IP 模式与常见错误
- 客户端
- OpenClash
- 支持平台
- Linux / 路由器
- 价格
- 免费(开源)
- 官方地址
- 前往下载
- 下载
- 安装
- 导入订阅
- 设置
- 排错
OpenClash 是运行在 OpenWrt 系统上的 LuCI 插件,内部使用 Clash 系列内核(目前主要是 Mihomo,即原 Clash Meta)。把它装在路由器或软路由上之后,连接这台路由器的手机、电脑、电视、游戏机都可以通过“透明代理”走机场节点,设备本身不需要安装任何客户端。
本文介绍的是思路和关键步骤,适合已经能登录 OpenWrt 管理后台、会用 SSH 执行简单命令的用户。OpenWrt 的版本、固件编译方式差异很大,具体依赖和命令请以 OpenClash 项目的官方说明为准。操作前建议备份路由器配置,避免家里断网。
下载
OpenClash 的官方发布渠道是项目官方 GitHub 仓库(作者 vernesong)的 Releases 页面,提供 luci-app-openclash 的安装包(通常是 _all.ipk,与架构无关)。
需要注意两点:
- 插件本身不含代理内核,安装后还需要在插件中下载与路由器 CPU 架构匹配的 Mihomo 内核;
- 很多第三方固件已经内置 OpenClash,登录后台在“服务”菜单中能看到 OpenClash 的话,可以跳过安装步骤。
不要随便刷来路不明的“全功能固件”,也不要从网盘下载他人改过的插件包。路由器处在全家网络的入口,被植入后门的影响远大于一台电脑。
安装
在 OpenWrt 上安装 OpenClash 的一般思路:
- 通过 SSH 登录路由器,先执行
opkg update更新软件源; - 按项目说明安装依赖。依赖分为 iptables 和 nftables(fw4)两套,OpenWrt 22.03 及以后的官方版本默认使用 nftables。常见依赖包括
dnsmasq-full(需先卸载默认的精简版 dnsmasq)、curl、ca-bundle、kmod-tun、ip-full、coreutils-nohup、bash、unzip以及透明代理相关的内核模块等,完整列表以项目说明为准; - 把下载的 ipk 上传到路由器(例如
/tmp目录),执行opkg install /tmp/luci-app-openclash_*_all.ipk; - 刷新管理后台,在“服务”菜单中出现 OpenClash 即安装成功。
如果你的 OpenWrt 是较新版本、已改用 apk 包管理器,安装命令会不同,请按项目最新说明操作。
下载内核
进入 OpenClash 后,在插件的版本或内核管理相关页面检查内核状态,下载 Meta(Mihomo)内核。插件会根据路由器架构自动选择,也可以手动指定。如果路由器直接下载 GitHub 文件很慢,可以在电脑上下载对应架构的 Mihomo 内核,按项目说明放入指定目录并赋予执行权限。
导入订阅
OpenClash 使用 Clash 格式订阅,在机场后台复制“Clash 订阅”或“Clash / Mihomo 订阅”。订阅格式区别见机场订阅是什么。
- 进入 OpenClash 的“配置订阅”页面;
- 添加一条订阅,填写名称和订阅地址;
- 订阅转换类选项保持关闭(机场直接提供 Clash 订阅时不需要转换,也避免把订阅链接交给第三方服务);
- 保存并执行更新,下载完成后在“配置文件管理”中能看到这份配置;
- 选中该配置为当前使用的配置,回到“运行状态”页面启动 OpenClash。
订阅链接等同于账号凭证,路由器管理后台也请设置强密码。
添加节点
OpenClash 有“服务器与策略组管理”一类的页面,可以手动添加节点和策略组,但操作较繁琐。只有单个节点时,更简单的做法是在配置文件管理中编辑一份 Clash 配置,把节点写进 proxies 并加入策略组。
日常切换节点推荐使用控制面板:在“运行状态”页面可以打开内置的 Dashboard(如 MetaCubeXD、Yacd 等网页面板),在里面查看策略组、选择节点、测试延迟。
更新订阅
在“配置订阅”页面可以手动更新,也可以开启自动更新并设置更新周期,一天一次即可。更新完成后 OpenClash 通常会自动重启以加载新配置,期间家里网络会短暂中断,建议把自动更新时间设在凌晨。
路由器透明代理
透明代理的含义是:设备不需要任何设置,所有经过路由器的流量都由 OpenClash 接管,再按规则分流。这是“让全家设备走代理”的核心。
要让全家设备正常使用,需要注意:
- 设备必须使用这台路由器作为网关和 DNS。如果路由器是旁路由,要把主路由的 DHCP 网关和 DNS 指向它,或在设备上手动设置;
- 设备上不要再手动设置别的 DNS(如浏览器或系统里的“加密 DNS”),否则可能绕过 OpenClash 的 DNS 处理导致分流失效;
- 局域网中有 IPv6 时,容易出现部分流量绕过代理的情况,新手可以先关闭 IPv6 相关代理选项或按项目说明配置;
- 所有设备的流量都会从同一个机场账户扣除,流量消耗会比单设备高。
运行模式与 TUN
OpenClash 的运行模式决定了如何接管流量和处理 DNS,主要有两大类:
| 运行模式 | 原理概述 | 特点 |
|---|---|---|
| Fake-IP(增强模式) | DNS 查询先返回一个保留段的假 IP,连接时再由内核按域名处理 | 响应快,分流按域名准确,推荐大多数用户使用 |
| Redir-Host(兼容模式) | DNS 返回真实 IP,内核再根据 IP 和嗅探到的域名分流 | 兼容性好,但 DNS 处理更复杂 |
每一类下面还可以选择流量转发方式,例如基于 iptables/nftables 的 TPROXY 转发、TUN 或混合模式。TUN 模式由内核创建虚拟网卡接管流量,对 UDP 支持更完整,但对路由器性能要求更高。新手建议从 Fake-IP 加默认转发方式开始,确认能用后再按需调整。
Fake-IP 模式下,部分需要真实 IP 的应用(如某些游戏、局域网发现服务)可能异常,可以把相关域名加入 Fake-IP 过滤列表。
规则模式
在 OpenClash 的设置或控制面板中,代理模式选择“规则”:按配置中的规则分流,国内直连、国外走代理。这是推荐的日常模式。规则来自机场的配置,也可以在插件的规则设置中追加自定义规则。
全局模式
在控制面板中把模式切换为“全局”,所有设备的所有流量都会走所选节点。全局模式在路由器上影响范围很大,会让家里的电视、监控等国内服务全部绕道海外,只适合短时间排查问题。流量扣除方式见机场流量怎么算。
常见错误
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 安装 ipk 提示缺少依赖 | 依赖未装全,或 iptables/nftables 版本不匹配 | 按项目说明安装对应的那一套依赖 |
| 启动提示内核不存在 | 没有下载内核或架构不对 | 在插件中重新下载匹配架构的 Meta 内核 |
| 启动后全家断网 | DNS 冲突或配置错误 | 停止 OpenClash 恢复网络,查看插件日志 |
| dnsmasq 相关报错 | 未替换为 dnsmasq-full | 卸载原 dnsmasq,安装 dnsmasq-full |
| 部分设备不走代理 | 设备网关或 DNS 没指向路由器 | 检查 DHCP 设置和设备 DNS |
| 国内网站变慢 | 处于全局模式 | 切回规则模式 |
| 某些游戏或局域网功能异常 | Fake-IP 不兼容 | 加入 Fake-IP 过滤列表,或改用 Redir-Host |
| 订阅更新失败 | 路由器无法访问订阅地址 | 检查网络与订阅链接,稍后重试 |
如果只是一两台设备需要代理,在设备上装客户端更简单,可以看客户端教程。