使用 DDNS-GO 给 Cloudflare 做动态域名解析

忘机山人

发布于342天前
博客图片修整中,看不了可以先搜索公众号“忘机山人”看。

我的域名最初是在 AWS 的 Route53 上购买的,然而在使用过程中发现 Host Zone 的费用并不低,除了每月的托管费用,还包括 TTL 更新等开销。在朋友建议下,我决定将域名解析的任务从 AWS 迁移到 Cloudflare,一方面可以节省成本,另一方面配置也更为灵活。

https://appstore.lazycat.cloud/#/shop/detail/dev.beiyu.ddnsgo

第一步:更改 NS 记录

准确地说,需要在域名注册商(本例中为 AWS Route53)处修改 Name Server,将默认的 AWS NS 记录改为 Cloudflare 提供的 NS 地址。这样,域名解析权就转移到了 Cloudflare。

Route53 修改 NS
Route53 中的 NS 修改界面 如下, 替换成 Cloudflare 的 NS 后,域名正式托管在 Cloudflare

NS 修改示意

第二步:创建 API Token

前往 Cloudflare 的 API Token 页面,为 DDNS-GO 创建一个具备修改 DNS 权限的 Token。

建议选择 “Edit zone DNS” 模板,只赋予必要权限,并可以限制在特定域名范围内使用。

Cloudflare API Token 创建


第三步:配置 DDNS-GO

DDNS-GO 是一个开源的动态域名更新工具,支持多个域名服务商(不包括 AWS 的 Route53)。看来不仅迁移出来省钱,还省心。我们把上一步申请的token添加到这里,TTL设置成自动就行。

DDNS-GO 配置界面

  • TTL 建议设置为“自动”
  • IP 获取方式推荐使用外网 API(如 ipip.net)

此外,DDNS-GO 支持 webhook 通知,可选用如 Slack、Server 酱等方式实时通知 IP 变动情况。

Webhook 配置

第四步:查看效果

我将 DDNS 记录绑定到家用公网 IP(IPv4),未启用 IPv6。保存配置后,前往 Cloudflare 后台查看 DNS 记录,已成功同步更新。

⚠️ 小提示:如果你绑定的 IP 是中国大陆的,建议不要开启 Cloudflare 的代理功能(小云朵),否则可能出现连接问题

CF DNS 记录更新

Bonus:免费 TLS 证书

使用 Cloudflare 托管 DNS,访问你的网站时会根据规则加上 TLS 证书,实现 HTTPS 加密,非常方便省心。

自动 TLS 证书

小结

通过将域名解析迁移到 Cloudflare,并配合 DDNS-GO 工具进行动态更新,既省钱又省事,还顺带获得了免费证书加持。相比 AWS Route53 的托管费用和配置复杂度,Cloudflare 无疑是个人用户和轻量级应用的更优选择。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0