控制台与系统更新
控制台 汇总网关流量、安全拦截、DDNS 和隧道状态。它适合快速判断系统是否有流量、最近是否发生明显异常,不替代请求日志、长期监控或上游服务自己的可用性检查。
查看控制台
页面顶部可选择 15 分钟、1 小时、6 小时、24 小时 或 7 天。所选范围影响累计入站/出站、安全趋势和网络流量走势图;实时入站、实时出站和当前在线数反映当前状态。
主要区域包括:
| 区域 | 内容 |
|---|---|
| 实时与累计流量 | 当前收发速率,以及所选范围内的入站和出站总量 |
| 安全拦截 | 登录失败、扫描器黑名单数量、WAF 检测与阻断事件及趋势 |
| 入口状态 | DDNS 提供商、最近地址、更新范围、最近检查和额外域状态 |
| 隧道入口 | 内网穿透模式下的 FRP、Cloudflared 运行状态、默认隧道和 PID |
| 网络流量走势 | 所选时间范围内的入站、出站时间序列 |
“入口状态”模块可在 系统设置 → 功能 中隐藏。隧道区只在内网穿透模式且当前平台支持 FRP 或 Cloudflared 时显示。
排查时按以下顺序查看:
- 新增映射后,从外部发起访问,确认在线数、实时速率或流量曲线有变化。
- 安全拦截增加时,进入事件中心、扫描器黑名单或 WAF 日志查看具体来源。
- DDNS 未更新时,进入 DDNS 页对照最近检查、地址来源和更新日志。
- 隧道显示未运行时,点击对应卡片进入隧道页查看进程状态和日志。
- 只有某个域名异常时,检查该 Host 的映射、证书、访问策略和上游目标。
本机或局域网的流量不能证明公网入口有效。涉及认证、反代或隧道时,使用移动网络等真实外部链路复测。
管理后台配色
控制台右上角可选择默认色、爱马仕橙、普鲁士蓝或动态白。该设置保存为管理后台的系统级主题色,与日间/夜间外观切换相互独立,不影响认证页和上游应用样式。
更新页按部署形态工作
路径:版本与更新。所有部署都会显示当前版本、最新版本、检查结果和发布说明,并提供官方网站、使用文档与 GitHub 项目的快捷链接。发布说明会安全渲染 Markdown 标题、列表、强调、HTTPS 链接,以及 GitHub 风格的 NOTE、TIP、IMPORTANT、WARNING、CAUTION 提示块;它不是任意 HTML 页面,远程图片和不安全协议不会变成可执行内容。管理后台加载后也会在侧边栏显示当前版本,并定期检查更新。发现新版本时,页面顶部会出现提示,可进入更新页查看发布说明;只有飞牛原生 FPK 会在提示中提供网页内安装操作。macOS 使用 sudo knock update,群晖 DSM 7 SPK 通过 DSM 套件中心安装,Windows 原生版由独立的 fn-knock Windows 管理程序处理安装,这些平台都不在网页更新页执行安装。
| 部署形态 | 更新页能做什么 | 实际升级方式 |
|---|---|---|
| 飞牛原生 FPK | 检查、下载、校验并一键安装 | 在页面执行一键更新;应用会重启 |
| Docker Compose | 检查版本和查看说明 | 拉取发布镜像并重建容器 |
| OpenWrt | 检查版本和查看说明 | 安装匹配固件格式与架构的 .ipk 或 .apk |
| Linux(systemd / OpenRC) | 检查版本和查看说明 | 执行 sudo knock update |
| macOS 13+(Intel / Apple Silicon) | 检查版本和查看说明 | 执行 sudo knock update |
| 群晖 DSM 7 SPK | 检查版本和查看说明 | 下载匹配架构的 SPK,在 DSM 套件中心手动更新 |
| Windows x86_64 | 检查版本和查看说明 | 在 fn-knock Windows 管理程序或托盘菜单中检查并安装更新 |
不要在 Docker、OpenWrt 或群晖的更新页中尝试安装 FPK;页面会把它们标记为不支持应用内更新。Windows 也不要在网页更新页中尝试安装,改用桌面管理程序。
飞牛原生 FPK 更新
在 版本与更新 中检查新版本。发现更新后,页面会下载与设备架构相符的 FPK、校验文件,再通过飞牛应用中心安装并重启应用。下载、校验和安装期间会显示进度;安装阶段不要关闭页面。
更新期间管理后台和网关会短暂不可用。页面会等待新后端报告自身已经就绪,再使用带缓存隔离参数的地址载入新前端;若浏览器仍请求到已被替换的旧 JavaScript 分块,管理后台最多自动刷新一次,避免停在空白页或形成刷新循环。自动恢复仍失败时才显示手动重新加载提示。自动连接超时不代表安装一定失败,应从飞牛桌面重新打开应用并核对运行状态。
安装器会先验证并换入新包的生命周期入口,再请求飞牛应用中心停止旧实例;安装后会等待应用中心状态并重试启动。停止阶段对 FN Connect WAF 规则使用有界检查:防火墙状态暂时不可读时记录警告并继续关停,只有确认受管规则仍残留且无法移除时才中止更新。这样可减少应用中心状态延迟或防火墙锁竞争造成的假性超时,但不会绕过真实的进程停止失败。
开始前导出配置备份;更新完成后,确认当前程序、认证配置和网关入口均恢复正常。若页面样式或菜单仍明显是更新前内容,先从飞牛桌面重新进入;仍异常时再清理该站点缓存,不要清除应用数据目录。
经网关访问管理后台时的会话恢复
把管理后台作为受保护的子域映射访问时,网关会话可能在页面停留期间过期。此时管理页面遇到无响应的 API 请求,会先用不缓存的认证探测确认状态;只有明确判定为未登录时,才跳转到鉴权页,并把当前管理页面作为返回地址。完成登录后可回到原页面,不需要把管理端口直接暴露到公网。
普通断网、网关重启或上游不可达不会仅凭一次请求失败就被当作会话过期。若没有跳转或登录后仍失败,先检查网络和网关健康状态,再核对认证 Host、Cookie 作用域与返回地址;不要通过反复刷新绕过真实的连接故障。
更新时的 SQLite 保护
飞牛标准 FPK 的网页内安装会先把 SQLite WAL 写回主库、执行完整性快速检查,并在数据目录中生成经过校验的 fn-knock.sqlite3.pre-update.bak 一致性快照。预检成功后,后续写入会临时使用更严格的同步模式;任一步失败都会停止安装,不会继续切换程序文件。
正常停止服务时也会等待后台任务退出并再次写回 WAL。飞牛、OpenWrt 和群晖的套件脚本会给 SQLite 留出完整的优雅停止时间;若进程无法停止,升级或卸载会报错退出,而不是在旧进程仍写数据库时继续替换文件。
这份预更新快照与活动数据库位于同一数据目录,只用于降低更新切换期间的数据风险,不是独立备份,也不会替代 .knock 导出、数据目录备份或系统快照。更新前仍应按部署文档保存一份异机备份。
Docker Compose 更新
在部署目录执行:
cd /opt/fn-knock
docker compose pull
docker compose up -d
docker compose ps如果 .env 中固定了 FN_KNOCK_IMAGE 的版本标签,先将它改为目标版本。镜像不是数据备份:升级前应备份 fn_knock_gateway 和 fn_knock_data 两个持久化卷。
Linux 更新
普通 Linux 安装使用:
sudo knock update命令会比较本地与线上版本、下载并校验发布包,然后部署到版本目录。即使版本相同也可确认重装;新版本健康检查失败时会恢复原程序、服务脚本和启停状态。需要回到保留的上一版本时执行 sudo knock rollback。更新前仍应备份 /etc/fn-knock 和 /var/lib/fn-knock。
OpenWrt 更新
先选择与固件包管理器和目标架构一致的新包,然后执行:
# opkg 固件
opkg install --force-reinstall /tmp/fn-knock_*.ipk
# apk 固件
apk add --allow-untrusted /tmp/fn-knock_*.apk
/etc/init.d/fn-knock status若 /tmp 中保留了多个版本,使用完整文件名代替通配符。
本地 .apk 的 --allow-untrusted 只能用于从可信发布渠道获得的包。升级会保留 /etc/config/fn-knock、/etc/fn-knock/gateway 和 /etc/fn-knock/data;保留前仍应备份它们。旧版本仍使用默认 /var/lib/fn-knock 时,安装脚本会把数据复制到新目录并更新 UCI 配置;自定义数据目录不会被强制迁移。确认登录、配置和原有数据正常前,不要手工删除旧目录。
macOS 更新
在终端执行:
sudo knock update命令会下载并校验当前 Mac 架构的发布包,切换版本后检查 LaunchDaemon 与管理服务。新版本未就绪时会恢复版本链接、管理命令、服务配置和原来的启停状态。需要回到保留的上一版本时执行 sudo knock rollback。更新前仍应导出应用备份;完整路径和卸载规则见 macOS 部署。
群晖 DSM 7 SPK 更新
在 版本与更新 查看版本和发布说明后,下载与群晖机型架构匹配的 SPK,并通过 DSM 的套件中心完成手动更新。网页不会代替 DSM 安装或重启套件。
更新前导出应用备份。套件数据位于 /var/packages/fn-knock-synology/var;升级后从 DSM 桌面的套件入口重新进入,检查版本、认证配置和网关访问是否恢复。
群晖套件已经加固冷启动时的网关就绪与配置同步。实例启动不稳定或当前无法启动时,直接在套件中心用当前发布渠道中相同架构的最新 SPK 覆盖安装,不要为了恢复启动而先卸载套件或删除数据目录。
Windows x86_64 更新
打开 fn-knock Windows 管理程序,点击“检查更新”,或在系统托盘菜单中执行同一操作。管理程序下载 Windows 安装包时会核对下载来源、文件大小和 SHA-256,随后启动安装器;网页中的 版本与更新 只用于查看版本和说明。
安装器会暂时停止服务。新版本未能在就绪检查中启动时,安装器会恢复原来的程序和运行数据;这不是备份替代品,更新前仍应导出应用备份。Windows 卸载或升级后保留 %ProgramData%\FnKnock,其中包含配置、SQLite 和证书等敏感数据。
每次更新后的检查
- 管理入口能否登录,当前版本是否正确。
- 网关域名或端口能否从真实外部网络访问。
- 当前模式、证书、映射和认证规则是否仍符合预期。
- 正在使用的 FRP、Cloudflared 或其他上游反代是否恢复连接。
- 事件中心、请求日志和 WAF 日志是否继续产生新记录。
fn-knock 的更新不能替代宿主机系统更新和备份。对外网关、证书、DNS 和业务服务都有独立的故障面,更新后应分别验证。
继续阅读:
