找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3710

积分

1

好友

502

主题
发表于 昨天 03:17 | 查看: 5| 回复: 0

你是否有过这样的困扰:家中宽带通过PPPoE拨号获取的IPv6地址一旦因断电重启而变化,之前配置好的隧道或直连服务就立刻失效?这不,我之前还庆幸IPv6地址稳定,结果家里一停电,路由器重新拨号,IPv6地址就变了,之前辛苦配置的 GRE over IPv6隧道 也随之作废。

这时自然会想到用动态域名解析(DDNS)来解决。但对于IPv6,很多厂商的设备原生支持有限。查阅某些厂商资料,会明确指出当前IPv6域名解析尚不支持DDNS。

H3C官方文档指出IPv6域名解析不支持DDNS

不过,社区总有解决方案。GitHub上就有不少优秀的开源DDNS工具,其中 ddns-go 项目功能强大且支持IPv6。它的出现,恰好弥补了部分商用DNS服务在IPv6动态更新方面的空白。

ddns-go项目GitHub页面介绍

根据项目介绍,ddns-go 支持多平台(macOS、Windows、Linux)和多架构(ARM/x86),并能对接阿里云、腾讯云、Cloudflare等主流域名服务商。下面,我将以Ubuntu系统为例,演示如何利用 ddns-go 实现IPv6地址的动态解析。

前期准备:确认IPv6网络环境

首先,确保你的服务器或主机能够正常获取到公网IPv6地址。在图形化设置中,应将IPv6配置为“自动”获取。

Ubuntu网络设置中IPv6配置为自动获取

随后,在系统详情或通过命令行查看已获取的IPv6地址。你会发现,系统通常会有多个IPv6地址。

系统详情中显示获取到的多个IPv6地址

通过 ip 命令可以更清晰地看到区别:

使用ip命令查看网络接口的IPv6地址详情

上面输出中,第一个 inet6 地址(带有 dynamic mngtmpaddr 标记)是临时地址,有效期较短;第二个才是相对稳定的隐私扩展地址。ddns-go 可以灵活选择使用哪一个。

下载并安装 ddns-go

访问项目的 Releases 页面,根据你的系统架构下载对应的二进制文件。例如,对于x86_64的Linux系统,下载链接如下:

https://github.com/jeessy2/ddns-go/releases/download/v6.6.9/ddns-go_6.6.9_linux_x86_64.tar.gz

ddns-go的Linux版本发布文件列表

下载后解压,你会得到一个名为 ddns-go 的可执行文件。先通过 --help 查看其可用参数:

执行ddns-go --help查看命令参数

常用参数解释:

  • -c:自定义配置文件路径。
  • -f:设置IP检查更新频率(秒)。
  • -cacheTimes:设置经过多少次检查后,与DNS服务商的记录进行比对。
  • -l:设置Web管理界面监听端口。
  • -s:服务管理(安装、卸载、重启)。

为了让它以后台服务的形式运行,并实现每60秒检查一次IP变化,每30次检查(即30分钟)后与DNS服务商记录比对一次,执行安装命令:

./ddns-go -s install -f 60 -cacheTimes 30

执行命令将ddns-go安装为系统服务

安装成功后,即可通过浏览器访问 http://<你的服务器IP>:9876 进行配置。

配置 ddns-go 实现 IPv6 解析

首次访问会要求设置管理员账号和密码。

ddns-go的Web管理登录界面

登录后,核心配置步骤如下:

  1. 选择DNS服务商并配置密钥:以阿里云为例,选择“阿里云”,然后填入 AccessKey IDAccessKey Secret
    在ddns-go界面选择阿里云并填写密钥
    如果你没有阿里云的AccessKey,需要登录阿里云控制台,在“访问控制RAM”中创建。请务必在创建时保存好Secret,因为它只显示一次。
    阿里云控制台创建AccessKey的界面

  2. 配置IPv6解析

    • 关闭“IPv4”的启用开关。
    • 开启“IPv6”的启用开关。
    • “获取IP方式”选择“通过网卡获取”,它会自动列出网卡和探测到的IPv6地址。
    • 在“Domains”框中输入你想要解析的域名,例如 ipv6.yourdomain.comddns-go 默认会使用检测到的第一个IPv6地址(即临时地址)进行更新。如果你希望使用第二个更稳定的地址,可以在“匹配正则表达式”框中填写 @2
      ddns-go的IPv6配置界面,已填写域名
  3. 保存配置:点击页面底部的“保存”按钮。

验证配置结果

保存后,ddns-go 会立即尝试执行一次解析更新,并开始按照设定频率运行。你可以在Web界面的“日志”页签下查看运行状态。

ddns-go日志显示域名解析成功

登录你的域名服务商控制台(如阿里云云解析DNS),可以看到一条类型为 AAAA 的记录已经添加成功。

阿里云DNS控制台显示新增的AAAA记录

最后,在客户端使用 nslookupping 命令测试域名解析,确认已正确指向你的动态IPv6地址。

在Windows命令行中使用nslookup和ping测试IPv6域名解析

至此,你已经成功使用 ddns-go 这个优秀的开源实战项目,搭建了一套IPv6动态域名解析系统。无论你的公网IPv6地址如何变化,域名都能自动更新指向最新的地址,彻底解决了因IP变动导致的服务中断问题。如果你对网络自动化、脚本工具等运维话题感兴趣,欢迎在 云栈社区 与其他开发者交流探讨更多实战技巧。




上一篇:我是如何用AI花1小时写出跑步机仪表板的
下一篇:提升Claude Code效率:8个覆盖完整开发工作流的必备插件
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 12:59 , Processed in 0.829363 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表