Skip to content

Knock 敲门不止飞牛,轻松配置公网访问,更安全的工具

把公网入口收敛到统一网关,用子域、反代、认证和访问控制保护你的自托管服务。

Knock 敲门

敲门 knock 首页

这套文档怎么读

如果你第一次接触 敲门 knock,建议按下面的顺序阅读:

  1. 安装与首次进入
  2. 端口、入口与访问路径
  3. 直连模式、反代模式与子域模式
  4. 根据场景继续:

按场景直接开始

你的场景建议阅读
我只想先装好并登录后台安装与首次进入
我分不清 7998 / 7999 是什么端口、入口与访问路径
我不知道应该选直连、反代还是子域直连模式、反代模式与子域模式
我想先知道为什么要做这个产品为什么做敲门 knock
我有公网 IP 和域名,想让每个服务用独立子域如何使用子域模式搭建直连访问
我仍然需要登录后访问飞牛原始端口或其他原始端口直连模式上手
我想用 fknock 给多个内网服务做统一入口用 fknock 搭建反代访问
我想让飞牛 App 在公网下也能正常使用如何使用飞牛 App
我想把飞牛分享链接直接发给别人,但不想顺带放开整站飞牛分享直通
我想只让某些地区或固定网段能碰到统一入口网关可见性
我想回到家里 Wi-Fi 后,让子域优先走内网而不是继续绕公网智能连接
我想按日期查看网关收到的真实请求请求日志
我想给登录失败、DDNS、隧道断开加通知事件中心与通知
我想把 SSH / MySQL / Redis 这类非 Web 服务也接进来协议映射
我想保护宿主机 SSH 登录入口SSH 安全
我想在统一网关里加一层 Web 攻击规则检测WAF
我想配置 IP 归属地和地区库来源IP 归属地设置
我想在后台里直接开一个可恢复终端Web 终端
我有 IPv6,想直接从外网访问用 fknock 搭建 IPv6 直连访问
我想给飞牛和子域站点接中国国内加速用腾讯云 EdgeOne 给 fknock 做加速与回源用阿里云 ESA 给 fknock 做加速与回源
我需要先理解 TOTP、Passkey、外部账号登录认证体系总览TOTP 与密码器 AppPasskey外部账号登录
我想把登录页的人机验证切到 Cloudflare验证码设置Cloudflare Turnstile 启用指南

先记住两个最重要的入口

  • 飞牛桌面的“敲门 knock”图标:这是管理后台入口,用来改模式、绑 TOTP、配证书、配映射、看日志。
  • 7999 端口或其映射出来的域名:这是统一访问入口,对外访问最终都会走这里。

一句话理解:

  • 你在桌面点击图标,是在“管理 fknock”
  • 你在浏览器访问 7999 或域名,是在“经过 fknock 访问服务”

文档结构总览

快速开始

回答“应该怎么装、怎么进、应该选哪个模式、第一步该配什么”。

功能详解

回答“某个功能到底是做什么的、字段怎么填、适用边界是什么、常见误区有哪些”。

初心

回答“我们为什么要做这个产品,这个产品解决了什么问题”。

场景教程

回答“如果我是某一种典型用户,应该按什么顺序把所有零散功能串起来”。

你会在这套文档里看到什么

  • 为什么当前更推荐子域模式,而不推荐把直连模式作为新部署首选
  • 直连模式为什么默认只保留 7999 入口,以及它和 IP 白名单的关系
  • 子域模式为什么更像“直连模式的升级版”,以及它如何通过 auth.example.com 和业务子域组织访问
  • 反代模式为什么更适合 FRP / Cloudflared / 多服务统一入口
  • TOTP、Passkey、记住我、退出登录、自动白名单之间的真实行为
  • 重写 HTML去除前缀根目录模式 这些映射选项分别适合什么应用
  • 子域映射里的标题、图标抓取和书签导出应该怎么用
  • 智能连接为什么只在子域模式下可用,以及为什么还要改路由器 DNS
  • DDNS 管理支持哪些提供商、更新范围和出站网卡该怎么选
  • IP 归属地设置里,官方在线服务和自定义服务分别适合什么场景
  • 腾讯云 EdgeOne / 阿里云 ESA 接到 fknock 前面时,为什么回源端口仍然要填 7999
  • 为什么给 EdgeOne / ESA 接入 fknock 时,建议先关闭缓存、开启 WebSocket、关闭 IPv6
  • Cloudflare DDNS 的参数应该去哪里拿
  • Cloudflare Turnstile 的 site_keysecret_key 去哪里拿
  • 网关可见性能否按地区或 CIDR 先收窄谁能碰到统一入口
  • Cloudflared 公网端为什么会区分 HTTPS localhost:7999HTTP localhost:7999
  • Cloudflared 日志里的证书主机名不匹配到底在说什么
  • 请求日志里 已登录 / 需要鉴权 / 路由类型 / 上游目标 这些字段应该怎么读
  • WAF 如何同步系统规则、调整防护强度,以及如何通过 Trace ID 排查命中详情
  • 事件中心里的通知提供商、通知规则、投递记录分别是做什么的
  • SSH 安全如何根据登录日志、地区范围和失败次数自动封锁来源 IP
  • 会话管理里的 IP 漂移轨迹 应该怎么读
  • 记住我、普通登录、自动白名单的默认时长和自定义有效期如何一起理解
  • 外部账号登录如何把 Google、Microsoft、GitHub 或自定义 OIDC 账号绑定到 TOTP
  • 协议映射为什么适合 SSH / MySQL / Redis,但不适合浏览器页面
  • Web 终端为什么依赖 tmux,以及为什么刷新页面后还能接回原会话
  • 飞牛 App 在反代模式和直连模式下,为什么要先走不同的网页认证入口
  • 飞牛分享直通在反代模式和子域模式下,分别依赖哪些前提

推荐的阅读策略

  • 想快速完成部署:优先读教程页
  • 想先搞懂原理再动手:优先读功能页
  • 想排错:先回到对应功能页,再看 FAQ

QQ群:1081609274