陈大剩博客

使用阿里云 ESA 实现 IPv6 免费加速方案

  • 陈大剩
  • 2025-12-28 12:00:54
  • 3

方案介绍

远程穿透 - IPv6 转 IPv4/IPv6 章节中,介绍了基于 CDN 的常规方案,但该方案存在费用成本问题。

阿里云推出的 ESA(边缘安全加速)免费套餐提供了更优的替代方案:

  • 零成本:免费版不限流量
  • 全球加速:支持全球边缘节点分发
  • 长期有效:可续费至 2050 年(25 年有效期)
  • 稳定可靠:已验证 TB 级流量无异常

本文将介绍如何配合 D-NET 工具使用阿里云 ESA 实现自动化的 IPv6 访问加速。

准备工作

在开始配置前,请确保具备以下条件:

  • 域名:已注册的域名(已备案域名可使用国内边缘节点,加速效果更佳)
  • 阿里云账号:用于访问 ESA 服务
  • 可访问的 Web 服务:需要加速的目标站点,且支持 IPv6 访问

配置阿里云 ESA

步骤 1:新增站点

进入 ESA 控制台,选择 【站点管理】-【新增站点】

新增站点

步骤 2:输入站点

输入根域名,如 example.com,此处是根域名。

输入站点

步骤 3:选择区域和接入方式

已备案的域名请选择中国内地,接入方式建议选择 CNAME,这样不会托管 DNS 解析。

输入站点

未备案的域名只能选择全球。

输入站点

步骤 4:选择对应的套餐

选择相应的套餐,记住选免费版(没有流量限制),没有申请免费版的可以按照 ESA 官网免费套餐 领取。

输入站点

步骤 5:验证域名

如果是第一次添加域名,需要验证域名所有权,将下列信息添加到 txt 记录中。

输入站点

步骤 6:添加 DNS

到域名的控制台添加 DNS 解析记录,填写如下信息。

输入站点

步骤 7:验证

点击 【验证】 按钮,系统将自动检查 DNS 记录。验证通过后即可进入下一步配置。

验证

安装 D-NET

D-NET 工具介绍

D-NET 能够自动监听 IPv6 地址变化,直接将 IPv6 地址更新到阿里云 ESA,相比传统 DDNS 方案减少一次 DNS 解析跳转

下载安装

访问 D-NET Releases 页面,根据操作系统选择对应的安装包。以下以 macOS ARM 版本为例演示安装过程。

步骤 1:选择架构

根据自身操作系统选择对应的架构版本。

选择架构

步骤 2:解压缩

下载完成后解压安装包。

解压缩

步骤 3:安装

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

安装

配置 D-NET

访问管理界面

安装完成后,使用浏览器访问 http://127.0.0.1:9877 进入 Web 管理页面。首次登录需要设置管理员账号和密码。

登入 Web 管理页面

验证 IPv6 连通性

在配置 D-NET 前,需要确保目标服务支持 IPv6 访问。以下以博客服务为例进行验证:

博客 IPv6 访问测试

创建阿里云 AccessKey

访问 阿里云 RAM 控制台 创建 AccessKey,用于 D-NET 调用阿里云 API。

安全提示:请妥善保管 AccessKey,避免泄露。

阿里云创建 AccessKey

配置参数

在 D-NET Web 管理页面中按以下步骤完成配置:

步骤 1:填写配置信息

  1. 启用 DCDN 开关
  2. 填写阿里云 AccessKey ID 和 AccessKey Secret
  3. 配置源站信息(域名、动态 IP 等)

配置 D-NET

步骤 2:获取 CNAME

点击保存后,D-NET 将自动开始监听 IPv6 地址变化,并同步到阿里云 ESA。系统会生成对应的 CNAME 地址,点击复制按钮获取。

复制 CNAME

添加 DNS 解析记录

将上一步获取的 CNAME 地址添加到域名的 DNS 解析记录中。

注意事项

  • 如果使用 Cloudflare,需要关闭 CDN 代理功能(设置为 DNS only)
  • 建议使用子域名进行配置,避免影响主域名

配置 DNS

自定义回源端口(可选)

如果服务使用非标准端口(非 80/443),需要通过回源规则进行端口映射。ESA 不支持直接在回源地址中指定端口,必须通过规则配置实现。

以下以 8000 端口为例说明配置方法:

步骤 1:创建回源规则

  1. 登录 阿里云 ESA 控制台
  2. 选择对应的站点(如 2025u.cyou
  3. 进入 【规则】-【回源规则】 页面
  4. 点击 【新增】 按钮

新增回源规则

步骤 2:配置规则参数

根据实际需求填写规则参数:规则名称:设置需要应用该规则的域名或路径;自定义规则:选择相应的站点;回源协议:填写目标服务的实际端口号(如 8000)。 完成后点击保存。

填写规则参数

测试验证

功能测试

配置完成后,通过浏览器访问配置的域名,验证是否能正常访问服务。

示例:访问 http://test.2025u.cyou,页面正常加载即表示配置成功。

访问测试

性能测试

通过全球节点延迟测试,验证 ESA 加速效果:
全球节点延迟测试

通过国内延迟测试,验证 ESA 加速效果:

通过国内延迟测试

注意事项

安全相关

  1. AccessKey 安全:妥善保管阿里云 AccessKey,不要提交到代码仓库
  2. 最小权限原则:为 D-NET 创建的 AccessKey 仅授予必要的权限
  3. HTTPS 配置:生产环境建议配置 SSL 证书,使用 HTTPS 协议

域名相关

  1. 备案要求:使用中国内地节点必须完成域名备案
  2. DNS 生效时间:DNS 解析记录修改后需要等待生效(通常 10 分钟内)
  3. 多站点配置:支持配置多个子域名,每个子域名可指向不同的服务

服务稳定性

  1. IPv6 地址变化:D-NET 会自动监听并更新 IPv6 地址,无需手动干预
  2. 服务监控:建议配置监控告警,及时发现服务异常
  3. 日志查看:定期查看 D-NET 日志,确保同步正常运行

常见问题

无法访问 D-NET 管理界面

问题:浏览器无法打开 http://127.0.0.1:9877

解决方法

  • 检查 D-NET 服务是否正常运行
  • 确认防火墙未屏蔽 9877 端口
  • 尝试使用 sudo systemctl status dnet 查看服务状态

DNS 解析失败

问题:域名无法解析到正确的地址

解决方法

  • 检查 DNS 记录是否正确添加
  • 等待 DNS 记录生效(最长可能需要 24 小时)
  • 使用 dignslookup 命令验证 DNS 解析

页面无法访问

问题:域名可以解析,但页面无法打开

解决方法

  • 确认源站服务正常运行
  • 检查 IPv6 连通性
  • 验证 ESA 回源配置是否正确
  • 查看 D-NET 日志,确认 IPv6 地址是否正确更新

自定义端口不生效

问题:配置了回源端口规则,但访问失败

解决方法

  • 检查回源规则的匹配条件是否正确
  • 确认规则优先级设置
  • 验证源站端口是否可访问
分享到:
0

说点儿什么吧

头像

表情

本站由陈大剩博客程序搭建 | 湘ICP备2023000975号| Copyright © 2017 - 陈大剩博客 | 本站采用创作共用版权:CC BY-NC 4.0

站长统计| 文章总数[137]| 评论总数[13]| 登录用户[28]| 时间点[141]

logo

登入

社交账号登录