Skip to content

OpenWrt 部署

这页适合谁

如果你准备把 敲门 knock 安装到 OpenWrt 路由器、软路由或旁路由上,这页是更合适的入口。

OpenWrt 版会把下面这些内容打包进同一个 IPK:

  • 管理后台
  • 认证页面
  • Node 后端
  • Go 网关
  • LuCI 菜单和配置页

它更适合这些场景:

  1. 你希望网关直接跑在 OpenWrt 设备上
  2. 你的公网入口、端口转发或内网服务都由这台设备管理
  3. 你想通过 LuCI 打开后台,而不是先进入飞牛桌面

先记住 OpenWrt 版端口

默认端口如下:

端口作用是否对外使用
7991管理后台入口通常从 LuCI 打开
7999网关代理入口对外访问服务时重点关注
17998内部后端 API只绑定到本机
7997认证服务只绑定到本机
7996Go 网关管理 API只绑定到本机
6379Redis本机 Redis 服务

OpenWrt 版和普通飞牛应用最大的端口差异是:

  • 管理后台默认不是 7998
  • OpenWrt 版默认从 7991 进入管理后台
  • 7999 仍然是统一网关入口

安装方式

方式一:LuCI 软件包上传

如果你的 LuCI 有软件包上传入口,可以直接上传匹配设备架构的:

bash
fn-knock_<version>-<release>_<arch>.ipk

安装完成后,LuCI 菜单会出现:

  • 服务 → 敲门 Knock

方式二:命令行安装

也可以把 IPK 上传到 /tmp,然后执行:

bash
opkg install --force-reinstall /tmp/fn-knock_*.ipk

如果是第一次安装,安装脚本会尝试:

  1. 启用并启动 Redis
  2. 启用并重启 fn-knock
  3. 刷新 LuCI 菜单缓存

LuCI 入口能做什么

路径:

  • 服务 → 敲门 Knock

这个页面主要负责 OpenWrt 侧的基础服务配置:

  • 查看服务是否运行
  • 打开管理后台
  • 开关 fn-knock 服务
  • 调整管理后台端口和网关代理端口
  • 调整内部后端、认证服务、Go 管理 API 和 Redis 端口
  • 调整数据目录和网关配置目录
  • 填写 Redis 地址、端口和密码

保存并应用后,服务会在配置写入后自动重载。

首次进入后台

安装完成后,在 LuCI 打开:

  • 服务 → 敲门 Knock

然后点击:

  • 打开管理后台

默认会进入:

text
http://<OpenWrt设备地址>:7991/

第一次进入时,需要设置管理面板密码。这个密码用于保护 OpenWrt 版管理后台入口,和后续 TOTP / Passkey 登录不是同一件事。

后续真正给外部访问使用的统一网关入口通常是:

text
http://<OpenWrt设备地址>:7999/

如果你要从公网访问,还需要继续处理:

  • 端口转发或防火墙放行
  • 域名解析或 DDNS
  • SSL 证书
  • 子域映射或反代映射

升级方式

OpenWrt 版不支持应用内 FPK 更新。

更新页仍然可以用来:

  • 查看当前版本
  • 检查最新版本
  • 查看发布说明

真正升级时,请下载匹配设备架构的新版 IPK,然后通过 LuCI 软件包上传,或执行:

bash
opkg install --force-reinstall /tmp/fn-knock_*.ipk

升级会保留:

  • /etc/config/fn-knock
  • /var/lib/fn-knock

也就是说,UCI 配置和运行数据不会因为重装 IPK 自动清空。

重置管理面板密码

如果忘记了 OpenWrt 管理面板密码,可以通过 SSH 登录 OpenWrt 后执行:

bash
fn-knock-reset-panel-password

执行后再回到 LuCI 里的管理后台入口,按页面提示重新设置密码。

OpenWrt 版能力边界

OpenWrt 版更像“路由器上的统一网关”,但不是所有普通飞牛应用里的能力都完全相同。

当前需要特别留意:

  • 不支持应用内 FPK 更新,请通过 IPK 升级
  • 暂不支持 Web 终端
  • 暂不支持 SSH 安全
  • 不支持自动 HTTPS

如果你需要 Web 终端或宿主机 SSH 日志防护,更适合继续使用普通 Linux / 飞牛应用运行环境。

自行构建 IPK

如果你是从源码构建 OpenWrt IPK,在项目根目录执行:

bash
npm run fn-knock:openwrt:build-ipk

默认会输出到:

text
dist/openwrt/

默认架构矩阵会生成类似:

text
fn-knock_<version>-<release>_<arch>.ipk

构建脚本会同时校验:

  • control 元数据
  • LuCI 菜单和 ACL
  • init 脚本
  • Go 网关二进制
  • 管理后台和认证页面静态资源

相关阅读

QQ群:1081609274