跳转到内容

OpenClash 入门:兼容性、DNS 冲突与停用恢复

范围:本页只讨论合法网络环境中的兼容性、DNS 冲突、启停与恢复,不提供代理服务器、订阅链接、规则集,也不提供绕过网络封锁或规避服务地域/访问控制的步骤。使用前请确认当地法律、网络服务商条款和你要访问的服务条款。

  • 你的固件/架构/包格式是否匹配 OpenClash 发布包;
  • 它和 dnsmasq、AdGuard Home 的 53 端口是否会冲突;
  • 启动后如何确认进程/日志/端口,而不是只看 LuCI 页面;
  • 停用后如何把 DNS 和基础联网恢复回来;
  • 哪些内容本页不会提供,以及为什么。
  • OpenWrt 25.12.6(apk)或 24.10(opkg);x86 或 ARM 需与发布包架构一致。
  • OpenClash 是第三方 LuCI 应用,通常还需要匹配的 Mihomo/Meta 内核;前端、内核、固件版本三者要配套。
  • 25.12 的 apk 与 24.10 的 ipk 不是同一种包格式;不要把 .ipk 改名成 .apk,也不要把别的架构的包硬装进来。
  • 如果设备是厂商固件/ImmortalWrt/iStoreOS,先按 041 页确认来源和包管理器,再谈安装。
路由器 Shell确认固件、架构和空间
终端窗口
ubus call system board
cat /etc/openwrt_release
uname -m
command -v apk
command -v opkg
df -h /
free -h

记录 release.target、DISTRIB_ARCH、包管理器和可用空间。OpenClash + 内核 + 规则数据可能占用几十 MB,空间不足不要硬装。

预期你知道包格式、CPU 架构,以及是否有足够空间。

路由器 Shell看发布页是否有匹配包

只从 OpenClash 官方发布页获取安装包,核对:

  • 固件大版本(25.12 / 24.10);
  • 包格式(apk / ipk);
  • CPU 架构(x86_64、aarch64 等);
  • 依赖(内核模块、bash/curl 等,以发布说明为准);
  • SHA-256/发布页校验值。

没有匹配包就停在这里;不要用“通用包”或别人的包硬装。

预期能找到对应固件版本/架构的 apk 或 ipk。

路由器 Shell记录 DNS/端口基线
终端窗口
netstat -lnp | grep -E ':53|:5353|:7874|:9090'
cat /tmp/resolv.conf.d/resolv.conf.auto
nslookup openwrt.org 127.0.0.1

如果 AdGuard Home 已占 53、dnsmasq 在 5353,OpenClash 不能再抢 53;先决定谁负责 DNS,再启动。

预期你知道 53 现在归谁,停用后要恢复成什么。

LuCI先只启用前端和内核,不接管 DNS

在 Services → OpenClash:

  1. 选择与架构匹配的内核;
  2. 先关闭“接管 DNS/DNS 劫持”之类选项;
  3. 保存并启动;
  4. 打开日志页,确认没有“内核不匹配/端口占用/依赖缺失”。

本页不提供代理服务器、订阅或规则内容;如果你没有合法可用的配置,到这里就停止,不要为了“先跑起来”去填未知来源的订阅。

预期服务能启动,LuCI 能看到状态。

路由器 Shell确认进程、端口和日志
终端窗口
ps w | grep -Ei 'openclash|mihomo|clash' | grep -v grep
netstat -lnp | grep -E ':7874|:9090|:53'
logread | grep -i openclash | tail -30

端口以你的配置为准;关键是:不要有两个进程同时监听 53。如果 OpenClash 日志报 DNS 绑定失败,先停用它,不要反复重启。

预期OpenClash/内核在跑,且没有和 53 冲突。

路由器 Shell停用并确认基础联网恢复
终端窗口
/etc/init.d/openclash stop
/etc/init.d/openclash disable
uci show openclash
/etc/init.d/dnsmasq restart
nslookup openwrt.org 127.0.0.1

如果之前改过 dnsmasq 端口或 DHCP option 6,按 026/011 页恢复;确认客户端 DNS 不再指向已停止的 OpenClash。

预期不依赖 OpenClash 也能解析和上网。

  1. 用 LAN/控制台进系统;
  2. 停用 OpenClash;
  3. 恢复 dnsmasq 的 53 端口和 DHCP DNS;
  4. 检查防火墙/DNS 劫持规则是否还在;
  5. 必要时重启,确认基础联网后再排查。

不要继续点“重启”。用 SSH/控制台停服务:

终端窗口
/etc/init.d/openclash stop
/etc/init.d/openclash disable
logread | tail -50

如果是防火墙把管理入口挡了,先用控制台恢复,不要盲目恢复出厂。

  • 25.12 用 apk,24.10 用 ipk;不能互换;
  • x86_64 与 aarch64 包不能混用;
  • 内核与前端版本不匹配时,先回退到发布页标注的组合;
  • 不要为了装上而关闭所有校验。
  • 53 只能有一个主要 DNS 入口;
  • AdGuard Home、dnsmasq、OpenClash 的 DNS 不要互相指成环;
  • 先停 OpenClash,恢复 dnsmasq/AGH,再逐项加回;
  • 用 nslookup 分别测 127.0.0.1、LAN 地址和上游。
  • 只在允许的网络和服务条款下使用;不提供绕过网络封锁、规避服务地域/访问控制、共享账号/订阅的内容。
  • OpenClash/Mihomo 是第三方项目,版本和依赖变化快;升级前看发布说明,保留回退包。
  • 本页不构成法律意见;有合规疑问时先咨询,不要先部署。
  • 环境:OpenWrt 25.12.6 x86 VM 200;luci-app-openclash 0.48.002 官方 .apk。
  • apk add --allow-untrusted 安装成功,共 43 个包(含 luci-compat、Ruby、unzip);/etc/init.d/openclash 和 LuCI controller 存在。
  • 没有代理配置/端点时执行 start,状态为 inactive;没有把它写成“已成功代理”。
  • stop + disable 后,nslookup openwrt.org 127.0.0.1 返回 connection refused;/etc/init.d/dnsmasq restart 后 DNS 恢复,公网 ping 正常。
  • 未测:真实代理端点/订阅、分流/DNS 命中、Mihomo 内核、TUN/防火墙规则、性能与稳定性。
  • 配方:tests/recipes/openclash-25.12.md。
  • 本页是 E2 partial:25.12 .apk 安装、无配置启动、停用和 DNS 恢复已实测;代理运行/分流仍是 E1/E3 范围。
  • 没有合法代理端点和配置,就不要把“安装成功”写成“代理可用”。
  • 不要把本页扩展成代理订阅/绕过教程;那超出站点范围。

来源

Router.Homes

独立的 OpenWrt 实操笔记。每页写明固件、设备、包管理器与恢复路径。

图标:Solar by 480 Design, CC BY 4.0