Skip to content

常见问题

按症状定位问题。先确认当前部署方式、运行模式,以及访问的是管理入口还是网关入口。

管理入口打不开或无法登录

桌面图标和网关入口应该打开哪一个

目的入口
修改配置、查看日志、切换模式飞牛桌面的 敲门 knock;OpenWrt 使用 服务 → 敲门 Knock;Windows 使用 fn-knock Windows 管理程序打开本机管理页
验证公网、域名、隧道或业务映射实际网关端口或对应外部域名;通常为 7999,飞牛 Docker FPK 默认是 8999

OpenWrt 默认管理端口是 7991,网关仍是 7999。Windows 管理页严格限定为 127.0.0.1:7991,不能从另一台机器打开。其他部署的端口见端口与入口

Windows 管理页打不开

先打开 fn-knock Windows 管理程序,确认 FnKnock 服务状态为就绪,再点击“打开管理后台”。初装默认地址是 http://127.0.0.1:7991/;只能在安装该程序的 Windows 主机上访问。

若服务无法就绪,优先检查五个默认端口是否被占用。通过管理程序修改端口并保存,避免直接编辑 %ProgramData%\FnKnock\config\runtime.json。完整步骤见 Windows x86_64 部署

后台提示存储错误

当前版本使用 SQLite,新安装不需要 Redis。

  • 新安装:检查数据目录权限、端口冲突和服务日志。
  • 从早期 Redis 版本升级:保留旧 Redis 数据卷,按 Docker 部署 的迁移步骤处理。
  • OpenWrt:确认 /etc/fn-knock/gateway/var/lib/fn-knock 仍然存在。

不要为新安装额外创建空 Redis。旧数据迁移完成并确认后台正常后,再移除旧 Redis 服务和数据卷。

忘记管理密码

管理密码与访客认证凭据不是同一项。按部署方式进入本机控制台或容器执行重置,不要删除数据目录:

  • Docker:见 Docker 部署 的管理密码恢复说明。
  • OpenWrt:见 OpenWrt 部署
  • 飞牛 fnOS FPK:优先从飞牛桌面重新进入 敲门 knock
  • Windows:优先在 fn-knock Windows 管理程序中点击“清除管理密码”。管理程序无法打开时,在应用安装目录中以管理员 PowerShell 运行 .\fn-knock-service.exe reset-panel-password

管理正常,但外网访问失败

后台能打开,外部域名仍超时

后台正常只说明管理服务在运行。按顺序检查:

  1. 当前网络拓扑是否选对:公网直达或内网穿透。
  2. 外部流量是否到达实际网关端口,而不是管理端口。通常为 7999,飞牛 Docker FPK 默认是 8999
  3. DNS 是否指向当前公网或隧道入口。
  4. 公网直达时,路由器端口转发和主机防火墙是否放行。
  5. 内网穿透时,隧道是否在线并指向正确的本地网关。
  6. 请求日志 中是否能看到该请求。

无法配置公网入站时,使用内网穿透:子域路由

Windows 的 7999 从局域网或公网访问不到

这是新安装 Windows 版的预期行为:7999 只监听 127.0.0.1,管理程序没有受支持的公开监听范围设置。不要用路由器端口转发、管理面板反代或手改运行配置绕过该限制。

若在同一台 Windows 主机上自行运行隧道或反向代理,它可以回源到 127.0.0.1:7999,但不由 fn-knock 管理,且必须保留 Host 与真实客户端 IP。需要完整的公网直达、直连授权或应用内隧道管理时,选择其他部署方式。

飞牛原生 FPK 的 7999 被跳到其他端口

飞牛系统的 强制 HTTPS 连接 可能在请求到达 fn-knock 前执行重定向。

进入 飞牛系统设置 → 安全性 → 端口设置 → 设置,关闭 强制 HTTPS 连接,再测试 7999

飞牛端口设置页面

自动 HTTPS 启动失败

自动 HTTPS 只在当前部署显示该功能、且主机实际具备入站链路和 80 端口时才可用。Docker 和 OpenWrt 不提供该开关。检查:

  • 80 是否被其他服务占用。
  • 当前权限是否允许监听低端口。
  • 飞牛系统端口重定向或其他前置入口是否冲突。
  • SSL 证书是否已经配置。

自动 HTTPS 不会代替证书申请。Windows 新安装的网关默认只监听回环,开启该功能不会让它自动成为公网入口。Docker 和 OpenWrt 应在前置代理、边缘平台或网关外部终止 TLS。见 SSL 证书

未登录也能直接访问业务端口

存在绕过 fn-knock 的入口。检查路由器端口转发、宿主机防火墙、IPv6 防火墙和前置代理,关闭直接指向业务服务的公网规则。

直连授权应只公开认证网关,登录后再临时放行当前出口 IP。Docker 和 Windows 不支持由 fn-knock 管理宿主机防火墙。

域名、子域或隧道不工作

应该选择哪种方案

条件方案
有公网入站,主要访问 Web 服务公网直达:子域路由
没有公网入站内网穿透:子域路由
需要保护 SSH、远程桌面等原始端口原始端口访问:直连授权
必须保留旧路径前缀内网穿透中的路径模式,仅用于兼容

先按网络拓扑选入口,再按 Host、路径或 TCP/UDP 选择路由,最后为服务设置访问策略。

隧道模式需要 DDNS 吗

通常不需要:

  • FRP 使用服务端地址和外部端口。
  • Cloudflared 使用 Cloudflare Tunnel 绑定的域名。

只有隧道入口本身依赖动态公网地址时,才为该入口配置 DDNS。

FRP 和 Cloudflared 怎么选

  • 已有 FRP 服务端,希望控制公网端口和流量:使用 FRP。
  • 已使用 Cloudflare,希望减少公网服务器维护:使用 Cloudflared。

两者都应把认证域名和业务域名转到 fn-knock 网关,并保留原始 Host。见 内网穿透

Cloudflared 回源应填 HTTP 还是 HTTPS

  • fn-knock 本地网关没有配置证书:使用 http://...:<实际网关端口>
  • 本地网关已配置有效证书,且 Cloudflared 信任该证书:使用 https://...:<实际网关端口>

Cloudflared 与 fn-knock 在不同容器时,localhost 指向错误的容器,应使用可互通的容器名或局域网地址。见 Cloudflared 隧道

子域打开了错误的服务

检查:

  1. 前置代理或隧道是否保留原始 Host。
  2. 根域名与子域映射是否匹配。
  3. 是否有重复或兜底映射抢先命中。
  4. 公网回源是否指向实际网关端口。

管理入口不能作为业务回源。

路径映射出现资源 404 或登录循环

上游应用没有正确处理路径前缀、重定向、Cookie 或 WebSocket。新配置应迁移到独立子域;只有上游明确支持前缀部署时才继续使用路径模式。

EdgeOne 或 ESA 出现登录循环、页面异常

检查:

  • 回源是否指向 fn-knock 的实际网关端口。
  • 子域映射是否启用了对应平台支持。
  • 缓存是否关闭,WebSocket 是否开启。
  • 真实客户端 IP 请求头是否正确传递。
  • 双栈回源是否把请求分到不同入口。

专题配置见 腾讯云 EdgeOne阿里云 ESA

回到家庭 Wi-Fi 后仍走公网

客户端仍在使用公网 DNS 结果。飞牛原生 FPK 使用智能连接时,检查:

  • 系统设置 → 功能 → 智能连接 是否启用。
  • 本机局域网 IP 是否正确。
  • 路由器 DHCP DNS 或客户端 DNS 是否指向 fn-knock 所在设备。
  • 客户端 DNS 缓存是否刷新。

智能连接只用于子域模式的局域网 DNS 优化,不会修改公网 DNS。Docker 不提供该能力。见 智能连接

登录或会话异常

TOTP、密码和 Passkey 怎么选

  • TOTP:默认登录方式,也是绑定 Passkey 和外部账号的基础。
  • 账号密码:适合不方便使用身份验证器的成员。
  • Passkey:在已有 TOTP 身份上提供便捷登录。

切换到账号密码登录模式后,登录页不会显示 Passkey 或外部账号入口。见 认证与登录

登录页的人机验证在哪里配置

进入 系统设置 → Challenge。PoW 与 Turnstile 的区别见 Challenge;Cloudflare 配置见 Turnstile

“记住我”如何影响会话

会话时长在 系统设置 → 会话 中配置。启用“记住我”会使用长期会话时长;若 IP 授权设置为跟随会话,对应授权也会延长。

只在个人可信设备上使用长期会话。

删除 TOTP 后其他登录方式失效

删除某个 TOTP 会同时使关联的 Passkey 和外部账号绑定失效。删除前应确认还有其他可用身份;删除后需要重新绑定关联登录方式。

登录成功后仍回到登录页

按顺序检查:

  1. 认证域名和业务域名是否使用相同的公开协议。
  2. 根域名、Cookie 作用域和 Passkey RP ID 是否匹配。
  3. 浏览器是否阻止 Cookie。
  4. 边缘平台是否缓存了登录响应。
  5. 前置代理是否传递了正确的 HostX-Forwarded-HostX-Forwarded-Proto
  6. 系统时间是否准确。

系统遇到同一认证页或同一目标持续循环时会暂停自动回跳。此时从原始业务 Host 重新发起访问,不要反复刷新或复制认证回调地址。

飞牛 App 直接填写地址后无法登录

飞牛 App 不会代替浏览器完成 fn-knock 认证:

  • 子域或内网穿透:先在手机浏览器打开同一外部域名并登录。
  • 直连授权:先在浏览器打开实际网关端口,再回到 App 连接原始地址。

完整步骤见 使用飞牛 App

更换网络后突然失去访问权限

移动网络、代理和家庭宽带可能改变出口 IP。重新打开认证入口登录,并在 系统设置 → 会话 查看 IP 漂移轨迹

该轨迹记录会话从原 IP 迁移到新 IP 的过程,不是普通请求日志。

会话旁的飞牛图标表示什么

表示该登录会话附着了飞牛 token,常见于飞牛 App 或网页继续复用当前登录。踢出、退出或会话过期时,附着 token 也会失效。见 会话管理

路由、安全或日志异常

登录成功后仍提示不在白名单

先确认该 Host 是否继承了历史 strict_whitelist 规则:

  • 关闭 要求登录:当前登录优先映射会公开访问,不检查登录和白名单;历史严格白名单映射不适用。
  • 开启 要求登录:手动来源授权可独立放行;自动 IP 授权通常允许同一来源继续访问,但不会覆盖已携带的服务范围拒绝;没有可用来源授权时再检查会话。
  • 历史严格白名单规则:即使关闭 要求登录 也不一定公开;只按有效来源授权记录判断(手动或登录后自动创建),浏览器会话 Cookie 本身不能替代来源条件。

当前 Host 编辑界面没有严格白名单选择。遇到历史规则时,应确认当前出口 IP 的手动或自动授权记录;若只允许手动来源,关闭登录后自动 IP 授权并检查遗留自动记录。需要退出该规则时,先记录完整映射配置,再按当前界面重新创建映射;单独关闭 要求登录 不足以公开。

飞牛分享链接被拦截

飞牛分享直通可用于子域路由和内网穿透,不适用于直连模式。确认请求命中了真正指向飞牛的 Host 映射或默认路由。见 飞牛分享直通

请求日志在哪里开启

进入 系统设置 → 日志 开启。开启后侧边栏出现 请求日志,可按日期查看命中的 Host、上游和响应状态。见 请求日志

通用黑名单和扫描器黑名单有什么区别

  • 扫描器黑名单:根据未认证的异常路径探测自动封禁。
  • 通用黑名单:管理员从日志或黑名单页面明确封禁 IP。

通用黑名单只接受精确 IPv4 或 IPv6,不接受 CIDR。网段或地区限制使用 网关可见性;单个异常 IP 使用 通用黑名单

为什么应尽早配置 HTTPS

HTTPS 保护登录凭据和会话 Cookie,也是 Passkey 的正常使用条件。公网域名、FRP 和 Cloudflared 的公开入口都应使用受信任证书。见 SSL 证书

安装、升级或数据异常

OpenWrt 如何安装和升级

OpenWrt 支持匹配架构的 .ipk.apk 包。安装后入口为 服务 → 敲门 Knock

升级时安装新版软件包;应用内 FPK 更新不适用于 OpenWrt。正常升级会保留 /etc/config/fn-knock/var/lib/fn-knock。完整命令见 OpenWrt 部署

Docker 升级后数据为空

先停止继续写入,确认旧数据卷仍在。当前版本使用 SQLite;只有从早期 Redis 版本升级时才执行 Redis 到 SQLite 的历史迁移。

不要删除旧卷、不要用空卷覆盖原挂载,也不要在新安装中额外添加 Redis。按 Docker 部署 的备份和迁移步骤恢复。

Windows 如何更新或清理数据

通过 fn-knock Windows 管理程序或系统托盘的“检查更新”安装 Windows 更新;网页 关于 / 更新 只显示版本和说明。升级前导出备份,安装器在启动失败时会恢复前一版程序和数据。

卸载 Windows 程序后,%ProgramData%\FnKnock 会保留以便恢复,其中含 SQLite、证书与配置。确认不再需要恢复后,才以管理员权限单独删除该目录。

更新后功能入口与旧文档不一致

先确认当前部署能力:

| 能力 | 飞牛 fnOS FPK | Docker | OpenWrt | Windows x86_64 | | --- | --- | --- | --- | | 主机防火墙与直连授权 | 支持 | 不支持 | 支持 | 不支持 | | 自动 HTTPS | 支持 | 不支持 | 不支持 | 需要实际入站链路;新安装网关默认回环 | | 智能连接 | 支持 | 不支持 | 当前软件包需自行配置分流 DNS | 不支持 | | 更新安装 | 支持 | 不支持 | 不支持 | Windows 管理程序处理 |

部署边界和推荐入口见选择部署与访问方案

QQ群:1081609274