如何让 IPv6 站支持 IPv4/IPv6 访问
- 陈大剩
- 2025-12-03 11:53:45
- 22

众所周知,国内运营商家宽已经很容易获得 IPv6 公网地址,但如果我们想在家中部署一个站点,虽然能通过 IPv6 公网访问,但国内很多环境仅支持 IPv4 协议,这将导致这些用户无法访问我们的站点,纯 IPv4 环境下访问 IPv6 的服务器。
其次,虽然容易获得 IPv6 公网地址,但运营商的 IPv6 地址 可能会动态变化,或会封禁 80 和 443 端口,这也会影响站点的正常访问。
目前国内流行使用免费的 Cloudflare CDN 来让 IPv6 站支持 IPv4/IPv6 双栈访问,但在国内使用 Cloudflare CDN 访问速度较慢、延迟较高(除非动态更新 Cloudflare 节点)。
解决方案
相比免费的 Cloudflare CDN,可以使用国内 CDN,例如百度云 CDN 仅需 18 元/100GB/年。对于普通 Web 站点访问,单个页面只有几十 KB,一年很难用完这些流量。只需根据运营商变化动态更新 IPv6 地址,即可实现 IPv6 站点的 IPv4/IPv6 双栈访问。
针对上述需求,我创建了开源项目 D-NET。D-NET 是一款轻量级动态网络管理工具,支持多平台的 CDN、DNS 和内网穿透自动化管理与监控,可将动态公网 IP 转为 IPv4/IPv6 双栈访问,后续还会集成 DDNS、FRP 等更多功能。
D-NET 准备工作
- 域名一个(有无备案均可,有备案更好)
- 云厂商账号一个(阿里云、百度智能云)
D-NET 安装
打开 D-NET Releases 页面,选择合适的架构下载安装包并解压,这里以 macOS ARM 版本为例。
步骤 1:选择架构
根据自身操作系统选择对应的架构版本。

步骤 2:解压缩
下载完成后解压安装包。

步骤 3:安装
在终端中执行 sudo ./dnet -s install 命令完成安装。

D-NET 配置
安装完成后,浏览器访问 http://127.0.0.1:9877 进入 Web 管理页面,首次登录时设置管理员账号密码。

⚠️ 云厂商选择说明
由于仅有 阿里云 CDN 全球区域可使用未备案域名,因此:
- 域名未备案:必须选择阿里云
- 域名已备案:可自由选择阿里云或百度智能云
准备远程访问的 Web 服务
首先需要确保目标服务能够通过 IPv6 访问。这里以博客为例进行演示:

💡 适用范围
本方案不仅限于博客,任何支持 IPv6 访问的 Web 服务均可使用,例如:
- 群晖 NAS(DSM)
- 宝塔面板
- Nginx 网站
- Home Assistant
- 其他 Web 应用
创建云厂商 AccessKey
根据选择的云厂商,在对应控制台创建 AccessKey,用于 D-NET 访问云厂商 API。
百度智能云
进入 百度智能云控制台 创建 AccessKey。

阿里云
进入 阿里云控制台 创建 AccessKey。

域名已备案(推荐百度智能云)
如果域名已备案,建议选择百度智能云 CDN。百度智能云 CDN 按流量计费,18 元人民币可购买 100GB 流量资源包,有效期一年,性价比较高。
步骤 1:创建加速域名
登录百度智能云 CDN 控制台,创建新的加速域名。

步骤 2:填写基本配置
填写加速域名和基本配置信息。

步骤 3:填写源站信息
这一步需填写真实的源站信息:IPv6 地址、端口。

步骤 4:缓存设置
根据网站类型设置缓存时间:
- 动态网站:缓存时间设置为
0(全部回源) - 静态网站:缓存时间设置为
30分钟或更长

步骤 5:完成配置
配置完成后,复制 CDN 提供的 CNAME 地址。

步骤 6:设置 DNS 解析
在域名 DNS 服务商处添加 CNAME 记录,类型选择 CNAME,名称填写 blog(或其他子域名),记录值填写上一步复制的 CNAME。

步骤 7:配置 D-NET
在 D-NET Web 管理页面中,打开 DCDN 开关,填写云厂商 AccessKey 信息。

步骤 8:查看同步日志
配置完成后,查看 D-NET 日志确认是否成功同步到云厂商。由于同步时间默认为 5 分钟,最长可能需要等待 5 分钟。

完成上述步骤后,通过配置的域名(例如 blog.a22t.com)即可成功访问服务。

域名未备案(使用阿里云全球加速)
如果域名未备案,只能使用 阿里云 CDN 全球区域进行加速。这种方案的缺点是:访问速度可能较慢,费用相对较高。
配置阿里云 CDN
步骤 1:创建加速域名
登录阿里云 CDN 控制台,创建新的加速域名。

步骤 2:填写基本配置
填写加速域名和基本配置信息。
⚠️ 重要
未备案的域名加速区域必须选择 全球(Global)。

步骤 3:配置备用源站
由于阿里云 CDN 不允许使用单独的 IPv6 源站,需要先配置一个备用域名源站。
- 源站地址:随机填写一个域名(如
www.baidu.com) - 优先级:选择 备
- 权重值:填写
1

步骤 4:配置 IPv6 源站
添加真实的 IPv6 源站信息:
- 源站地址:填写实际的 IPv6 地址
- 端口:根据实际服务端口填写
- 权重值:填写
100

步骤 5:配置缓存规则
根据网站类型设置缓存时间:
- 动态网站:缓存时间设置为
0(全部回源) - 静态网站:缓存时间设置为
30分钟或更长

步骤 6:跳过其他配置
其他可选配置暂时跳过,后续可根据需要调整。

步骤 7:获取 CNAME
配置完成后,复制 CDN 提供的 CNAME 地址。

步骤 8:设置 DNS 解析
在域名 DNS 服务商处添加 CNAME 记录:
- 类型:
CNAME - 名称:子域名(如
blog) - 记录值:上一步复制的 CNAME 地址

等待 CDN 配置完成
CDN 配置提交后,需要等待阿里云完成配置,直至状态显示为 已配置。

配置 D-NET
配置完成后,在 D-NET Web 管理页面中填写相关信息:
- 打开 DCDN 开关
- 填写云厂商 AccessKey 信息
- 配置源站信息

⚠️ 重要提示
由于阿里云 CDN 不允许使用单独的 IPv6 源站,这里的源站地址需要填写步骤 3 中配置的备用域名源站(如
www.baidu.com)。
优化 CDN 配置
基础配置完成后,还需要进行以下优化,确保 IPv6 流量正常回源。
优化 1:启用 IPv6 回源
进入阿里云 CDN 控制台,选择对应的加速域名(如 blog.2025u.cyou),进入 【管理】 → 【回源配置】 → 【IPv6 回源】。
❗ 必须操作
如果源站是 IPv6,必须启用 IPv6 回源,否则无法正常访问。

优化 2:启用 IPv6 访问
在同一页面中,进入 【基本配置】 → 【IPv6 开关】,【开启 IPv6 访问支持】。

验证访问
完成所有配置后,通过配置的域名(例如 blog.2025u.cyou)访问服务,验证是否能够正常访问。

同时可以查看 D-NET 日志,确认是否成功同步到云厂商。由于同步间隔默认为 5 分钟,最长可能需要等待 5 分钟才能看到同步记录。

总结
如果大家觉得这个教程和衍生出开源项目写得不错,记得 点个 Star 支持一下。 All-In-One 教程地址:cxbdasheng/AIO,
D-NET 开源项目地址:D-NET。














