家庭宽带只有 IPv6 也能全球访问:DDNS-GO + 边缘 CDN 把 IPv6 源站变成 IPv4+IPv6 双栈
适用场景:飞牛 FnOS / 群晖 Synology / 极空间 ZSpace 等 NAS,或任意一台常开的小主机。 核心思路:本地只有公网 IPv6 → DDNS-GO 解析到域名 → EdgeOne / 阿里云 CDN 回源该 IPv6 地址 → CDN 对外提供 IPv4+IPv6 双栈访问。
一、为什么需要这套方案
家庭宽带的现状基本是这样的:
- IPv4 公网地址基本拿不到。现在三大运营商给家宽分配的多是「大内网 / CGNAT」地址,光猫重启 IP 就变,也没有独立公网 IPv4。更头疼的是 80、443 端口默认被封,即使有公网 IPv4 也很难直接建站。
- IPv6 公网地址反而人人都有。运营商现在都下发了可公网路由的 IPv6(2408 / 2409 开头),每台 NAS、每台手机都能拿到独立公网地址。
- 新问题来了:很多外部网络(公司 WiFi、酒店、海外)只有 IPv4,直连你的 IPv6 源站是访问不了的。
所以真正的痛点是:「我家里有公网 IPv6,但外面只有 IPv4 的人进不来」。
解法就是本文的主线:
外部用户(仅IPv4 或 IPv4+IPv6)
│
▼
边缘 CDN 节点(对外 IPv4+IPv6 双栈)
│ 回源到你的 DDNS 域名(解析为家宽 IPv6)
▼
本地 NAS / 小主机上的服务
一句话总结:用 DDNS-GO 把本地 IPv6 绑到域名,再用支持 IPv6 回源的边缘 CDN 代理一层,你的纯 IPv6 源站就被「包装」成了人人可访问的 IPv4+IPv6 双栈服务。
二、整体架构
flowchart LR
A[外部用户<br/>IPv4 或 IPv4+IPv6] --> B[EdgeOne / 阿里云 CDN<br/>边缘节点·双栈对外]
B -->|回源 IPv6| C[DDNS 域名<br/>nas.example.com]
C -->|AAAA 解析| D[家宽公网 IPv6]
D --> E[飞牛/群晖/极空间<br/>本地服务]
要点:CDN 负责「对外双栈 + 缓存加速 + 隐藏源站」,本地只负责「把服务跑在 IPv6 上 + DDNS 保持域名指向最新 IPv6」。
三、前置条件清单
- 本地有公网 IPv6:光猫桥接或路由模式都行,关键是路由器 / NAS 能拿到可公网路由的 IPv6 地址(不是
fe80::开头的链路本地地址)。 - 一个域名:建议已实名、且最好已完成 ICP 备案(用国内 CDN 节点的硬门槛,详见避坑第 1 条)。
- 支持 IPv6 回源的 CDN:推荐腾讯云 EdgeOne,或 阿里云 CDN;图省事且不在意国内速度可用 Cloudflare。
- 一台常开设备:NAS 或软路由 / 小主机,跑 DDNS-GO 和你的实际服务。
四、步骤一:让 NAS 拿到公网 IPv6
各家系统开启方式:
- 飞牛 FnOS:控制面板 → 网络 → IPv6,开启「自动获取」,确认地址是
2408/2409等公网前缀(不是fe80)。 - 群晖 Synology:控制面板 → 网络 → 网络接口 → IPv6,设置为自动 / DHCPv6。
- 极空间 ZSpace:设置 → 网络 → IPv6 开启。
路由器侧关键设置:
- 光猫改为桥接模式(让软路由 / 路由器拨号),或光猫直接开启 IPv6 透传 / Passthrough。
- 路由器开启 DHCPv6-PD 或 SLAAC,把 IPv6 下发给内网设备。
⚠️ 最常踩的坑——IPv6 防火墙:很多路由器默认禁止 IPv6 入站。即使 NAS 拿到了公网 IPv6,外面也连不进来。请到路由器 / 光猫的 IPv6 防火墙设置里,放行你服务对应的入站端口。
验证方法:手机断开 WiFi 用流量,浏览器访问 http://[你的IPv6地址]:端口,能打开就说明公网 IPv6 已通。
五、步骤二:DDNS-GO 配置(Docker 一行部署)
在 NAS 的 Docker / Container Manager 里跑 DDNS-GO(任意支持 Docker 的设备都一样):
docker run -d --name ddns-go --restart=always --net=host \
-v /opt/ddns-go:/root \
jeessy/ddns-go
跑起来后访问 http://<NAS的IP>:9876 进入管理界面,配置如下:
- DNS 服务商:选阿里云 / 腾讯云 DNSPod / Cloudflare,填入对应的 AccessKey 或 Token。 - 🔐 避坑:强烈建议用子账号 + 仅 DNS 解析权限(RAM 最小权限),不要用主账号全权限 Key。
- IPv6 配置:勾选「启用」,填写要解析的子域名,例如
nas.example.com。IPv4 留空(你没有公网 IPv4 就别勾)。 - TTL:设为 60s ~ 600s,越短切换越快。
验证:nslookup nas.example.com 能看到 AAAA 记录指向你的公网 IPv6,即成功。
💡 关键认知:IPv6 没有「端口转发」这件事。路由器有公网 IPv6 ≠ NAS 有。每台需要外网访问的设备,都要单独跑 DDNS-GO(或各自解析不同子域名)。
六、步骤三:CDN 接入(回源 IPv6,对外双栈)
方案 A:腾讯云 EdgeOne(推荐,配置最简单)
- 添加站点 / 域名(如
home.example.com),绑定你的域名。 - 加速区域:域名已备案选「全球加速(含中国大陆)」;未备案选「全球(不含中国大陆)」。
- 开启 IPv6 访问:
站点加速 → 网络优化 → 启用 IPv6 访问。这一步让 EdgeOne 节点对外分配 IPv6,实现双栈。 - 添加子域名
home.example.com,回源配置: - 源站地址:填 DDNS 域名nas.example.com(解析到你的 IPv6) - 回源协议:HTTPS 或 HTTP(建议 HTTPS) - 回源端口:填你 NAS 服务的实际端口(如8443、5001,别用被封的 443/80) - 推荐模板:选「网站加速」 - SSL 证书:在控制台申请免费证书,开启 HTTPS 并强制跳转。
- 源站防护(推荐):开启后只放行 EdgeOne 回源 IP 段,彻底隐藏你的真实 IPv6。
方案 B:阿里云 CDN
- 添加加速域名(需备案),源站类型选「源站域名」,填
nas.example.com。 - 在「IPv6 配置」中开启 IPv6。
- 配置 HTTPS 证书(免费 DV 或上传自有证书)。
- 按需设置回源协议 / 端口。
注意:阿里云 CDN 回源到 IPv6 域名时,需确认源站域名能稳定解析到 IPv6;部分地区如有异常,优先用 EdgeOne 验证链路。
方案 C:Cloudflare(无需备案,但国内访问偏慢)
- 添加站点,开启橙色「小黄云」(Proxy),自动双栈,回源到你的 IPv6 域名。
- 适合不在国内加速、图省事的场景。国内用户访问延迟通常较高,不建议作为主力。
七、步骤四:验证与加固
- 双栈验证:用一台「纯 IPv4 网络」环境(公司网、或手机关掉 IPv6 只用 4G)访问
https://home.example.com,确认能正常打开——这代表 IPv4 用户已经能借 CDN 访问你的 IPv6 源站。 - 回源加密:CDN 上 HTTPS 是必须的;回源也建议用 HTTPS,避免明文传输和被 DNS 污染。
- 隐藏源站:开启 CDN 源站防护 + 不要在其他任何地方暴露你的 IPv6 地址。
- 带宽清醒:家宽上行有限(常见 30~100M),CDN 只加速静态资源和缓存命中,动态接口 / 大文件下载仍受你上行带宽限制,别指望 CDN 把上行变大。
八、避坑要点总结(重点收藏)
- 备案是硬门槛:国内 CDN(EdgeOne 大陆节点、阿里云 CDN)必须域名 ICP 备案。未备案只能选「不含中国大陆」节点或 Cloudflare,国内访问体验会差很多。
- IPv6 前缀会漂移:光猫 / 路由器重新拨号,
/64前缀可能变化,导致 AAAA 解析失效。务必让 DDNS-GO 常开 + 短 TTL,并在断电 / 重拨后自动重启容器。 - IPv6 防火墙默认拦截:这是「有公网 IPv6 却访问不了」的头号原因。去路由器 / 光猫把对应端口的 IPv6 入站放行。
- 每台设备单独做 DDNS:IPv6 无端口转发,路由器有 IPv6 不代表 NAS 有。要外访的设备各自解析子域名。
- 运营商封 80/443:家宽 80/443 常被封。用 CDN 回源到高位端口(如
8443/5001),不要强求源站用 443。 - 先确认源站 IPv6 真可达再加 CDN:部分运营商 IPv6 路由不稳定,CDN 回源失败会报 52x 错误。先直连
http://[IPv6]:端口验证通,再上 CDN。 - 证书用 DNS-01 验证:源站若自签或用 acme.sh 申请,用 DNS-01 挑战(不需要 80 端口)。CDN 层直接用平台免费证书即可。
- 隐私与扫描:公网 IPv6 暴露会被全网扫描爆破。加 CDN 隐藏源站 + 服务开启强密码 / 2FA + 关键服务加访问白名单。
- IPv6 临时地址:部分系统默认用隐私扩展临时地址,DDNS 应让 DDNS-GO 自动探测当前地址,或绑定稳定的 EUI-64 / stable 地址,避免解析到会变的临时地址。
- 上行带宽瓶颈:再好的架构也救不了家宽上行。高并发 / 大文件场景请降低预期或升级带宽。
九、常见问题 FAQ
Q:我只有 IPv4 公网、没有 IPv6 怎么办? A:那反而更简单,DDNS-GO 解析 IPv4 + CDN 回源即可。但如今 IPv4 公网越来越难拿,IPv6 方案才是主流。
Q:一定要 NAS 吗? A:不一定。任何常开设备(软路由、小主机、甚至旧电脑)跑 Docker 装 DDNS-GO 和服务都行。
Q:用 FN Connect / 群晖 QC 不行吗? A:官方中转有带宽限制和隐私顾虑,而且依赖厂商服务。自建这套方案更自由、可控、无额外费用。
Q:CDN 收费吗? A:EdgeOne 有免费套餐,阿里云 CDN 按流量计费(新用户有免费额度),个人轻度使用成本很低甚至免费。
十、结语
这套组合拳的本质,是用「IPv6 解决可达性、用 CDN 解决兼容性与安全性」:
- IPv6 让你在家宽没有公网 IPv4 的情况下,依然能把服务暴露到公网;
- DDNS-GO 解决 IPv6 前缀漂移带来的域名指向问题;
- 边缘 CDN 把纯 IPv6 源站「翻译」成 IPv4+IPv6 双栈,让全世界(包括只有 IPv4 的网络)都能访问,同时顺手做了缓存加速、HTTPS 卸载和源站隐藏。
照着上面的步骤走,飞牛 / 群晖 / 极空间都能在半小时内跑通。剩下的,就是把上行带宽喂饱的问题了 😄
本文基于 DDNS-GO + 腾讯云 EdgeOne / 阿里云 CDN 的实践整理,配置路径以各平台控制台最新版本为准。
评论交流
欢迎留下你的想法