用 fknock 搭建 IPv6 直连访问
这篇教程适合谁
这篇教程面向下面这类用户:
- 已经具备公网 IPv6
- 想让外部先经过 fknock 认证,再访问设备上的其他端口
- 希望通过域名访问,而不是死记 IPv6 地址
这不是当前最推荐的新部署路线。如果你有域名,并且主要访问 Web 服务,优先看:
这条路线的典型组合通常是:
直连模式DDNSTOTP- 可选
Passkey - 可选
HTTPS
如果你虽然同样具备公网 IPv6,但你的真实目标已经变成:
- 让每个服务都用独立子域访问
- 例如
auth.example.com、alist.example.com
那么更建议直接看:
最终会完成什么
完成后,你通常会得到这样一条访问链路:
- 域名通过 DDNS 指向你的公网 IPv6
- 外部用户访问你的域名和
7999 - 先经过 fknock 登录
- 登录成功后,当前外部 IPv6 地址被放入白名单
- 在有效期内继续访问飞牛和其他已开放端口
开始前先确认 3 个前提
- 你的设备确实拥有可从公网访问的 IPv6
- 路由器、防火墙或运营商没有拦掉你需要的流量
- 你理解直连模式不是给内网穿透设计的
如果你其实没有公网 IPv6,或者只能靠 FRP / Cloudflared 出去,那么这条教程并不适合你,应该改看:
第 1 步:安装并进入后台
如果尚未安装完成,先看:
确认后台可以正常打开后,再继续下面步骤。
第 2 步:先配置 DDNS
为什么这里先配 DDNS?
因为直连场景下,你通常希望:
- 用一个固定域名访问
- 让域名始终自动指向当前公网 IPv6
而不是每次手动查新的 IPv6 地址。
推荐路线:Cloudflare DDNS
如果你的域名托管在 Cloudflare,建议先看:
这页会单独讲清楚:
API TokenZone ID- 完整域名怎么填
仅解析与橙色云朵怎么选
直连 IPv6 场景的一个关键建议
对于默认 7999 入口的直连模式,通常建议在 Cloudflare DDNS 中选择:
仅解析
也就是不要打开橙色云朵代理。
第 3 步:切换到直连模式
路径:系统设置 → 模式
请选择:
直连模式
为什么这一步很关键
切到直连模式后,系统会启用基于防火墙的访问策略。
可以把它理解成:
- 对公网访问来说,默认先屏蔽除
7999之外的其他入口 - 由
7999承担登录入口角色 - 登录成功后,再对白名单中的当前 IP 放行其他端口
也就是说,直连模式不是“所有端口直接暴露到公网”,而是:
先通过
7999完成认证,再根据白名单决定是否开放其他端口。
这一步为什么不适合内网穿透
因为这套模式的设计目标就是:
- 用本机防火墙做入口闸门
- 用登录和白名单管理后续访问
如果你还准备再套一层 FRP / Cloudflared,就已经偏离了这套设计。
第 4 步:配置认证
路径:认证配置
直连模式里,这一步一定不要跳过。
先绑定 TOTP
操作顺序:
- 点击
绑定新令牌 - 用身份验证器 App 扫码
- 输入 6 位验证码
- 给设备命名
- 保存
如果你还没有装身份验证器,先看:
再决定是否绑定 Passkey
对自己的常用设备来说,Passkey 很值得配。
但推荐顺序一定是:
- 先把 TOTP 配好
- 再绑定 Passkey
详细说明见:
另外别忘了,登录页在真正进入 TOTP 或 Passkey 之前,还会先经过人机验证。
如果你打算把这一步切换成 Cloudflare 的人机验证,建议同时阅读:
第 5 步:强烈建议同时规划 HTTPS
虽然这篇教程的重点是“IPv6 直连 + DDNS + 认证”,但只要你准备长期从公网访问,仍然强烈建议尽早上 HTTPS。
这样做的价值包括:
- 浏览器更稳定
- Passkey 更稳定
- 你更容易区分“证书问题”和“网络问题”
详细说明见:
第 6 步:从外部网络完成第一次登录验证
建议使用:
- 手机蜂窝网络
- 或其他不在同一局域网内的网络
验证顺序:
- 访问你的 IPv6 域名和
7999 - 完成人机验证
- 输入 TOTP,或使用已绑定的 Passkey
- 登录成功后,再测试其他端口
第 7 步:理解“登录后放行”到底是什么意思
这是直连模式里最重要的概念。
- 登录成功后,系统会把当前出口 IP 自动加入白名单
- 默认不勾选
记住我:通常约24 小时 - 默认勾选
记住我:可延长到约1 年 - 这两个默认值现在都可以在
系统设置 → 凭据里调整 - 退出登录:自动白名单会被清掉
也就是说,真正被信任的是:
- 你当前的公网出口 IP
而不是“你这台手机”“你这台电脑”的名字。
第 8 步:按需要手动补白名单
如果你有明确稳定的出口网络,例如:
- 家里固定宽带
- 办公室固定出口
可以在:
里手动加一条更长期的记录。
这样即便你临时退出登录,也不至于每次都从零开始。
直连 IPv6 教程的标准完成状态
做到下面这些,才算真正完成:
- DDNS 能正确更新 IPv6 记录
- 域名能从外网访问到 fknock 登录入口
- TOTP 登录正常
- 如果启用了 Passkey,也能正常登录
- 登录成功后能继续访问你需要的其他端口
如果遇到问题,应该回到哪一页
| 问题 | 回看哪一页 |
|---|---|
| Cloudflare 参数不会找 | Cloudflare DDNS 配置 |
| 想把登录页的人机验证切到 Cloudflare | 验证码设置 |
| 不理解 TOTP 或不知道装什么 App | TOTP 与密码器 App |
| 想补 Passkey | Passkey |
| 不理解自动白名单 | IP 白名单 |
| HTTPS 有问题 | SSL 证书 |
