使用ddns-go实现自动配置IPv6的DDNS

Danileaf_Guo 2024-10-02 17:05:01 阅读 83

f568b18e1213a8db53c765b6e579ffba.gif

正文共:888 字 17 图,预估阅读时间:1 分钟

前面说到通过PPPoE拨号获取到的IPv6地址没有发生变化企业路由器配置IPv6家用宽带的PPPoE拨号示例,结果说完就打脸了。中间家里停了一次电,路由器重新拨号,获取到的IPv6地址就变了。虽然我们前面配置了GRE over IPv6的隧道配置GRE over IPv6隧道,但是因为地址变化也就失效了。

随即我就想到了之前IPv4配置的DDNS拨号有公网Ip地址了,肯定要通过DDNS用起来啊!,但发现没有解析,查阅H3C官网资料发现IPv6域名解析不支持DDNS。

f83ebde5c6530572d7bd4ac749884220.png

当然,也不是完全不支持,目前有一些开源的DDNS方案,如GitHub上的开源项目ddns-go就可以支持,那应该是还没有域名厂商开放这个服务吧,毕竟花生壳连IPv4的DDNS服务都停止注册了。

dd9f2b38a5d2d73766a2057660e4eeee.png

GitHub上ddns-go项目的链接如下:

https://github.com/jeessy2/ddns-go

c183ae2a214674b274e51e030372f2b3.png

如简介所说,该项目的功能还是很强悍的,可以支持ARM和x86架构,能够支持主流的macOS、Windows、Linux系统,可以对接主流的域名服务商,如阿里云、腾讯云、华为云、百度云、Dnspod、Cloudflare、Callback、Porkbun、GoDaddy、Namecheap、NameSilo和Dynadot等厂商(可惜没有天翼云)。

今天,我们以Ubuntu系统为例,简单操作一下。

首先,确认网卡的IPv6配置为Automatic自动获取,以能成功获取到IPv6地址。

1a9fa585f678075f612b59013511ca23.png

查看接口获取到的IPv6地址信息。

a12f38642fcdec5e17b4bf35ee82c0b3.png

竟然有两个IPv6地址,如果从命令行我们能看到差异,

944ab333c285a7a5dd748730ebb3bfc4.png

上面的IPv6地址是零时动态地址,地址有效期比另一个短一半。

接下来,我们下载合适的程序文件。

e9baf29ce4f7beb0f3c5a9bed7490d9b.png

下载链接如下:

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

下载完成后解压得到ddns-go文件。

a24c094899b7d010c0a114389b1a9f4c.png

ddns-go文件的可执行命令如下所示:

def2069193430d2806ca91449dde7765.png

-c:自定义配置文件路径,默认为/root/.ddns_go_config.yaml。

-cacheTimes:间隔N次与服务商比对。

-dns:自定义DNS服务器,比如8.8.8.8。

-f:DDNS同步的间隔时间(秒)。

-l:管理页面的监听地址,默认为9876。

-noweb:不启动web服务。

-resetPassword:重置密码。

-s:配置ddns-go服务的安装、卸载与重启。

-skipVerify:跳过证书验证。

-u:更新ddns-go的版本至最新。

-v:查看ddns-go的版本信息。

所以,我们可以通过以下命令安装ddns-go,实现每60秒检查一次本地IPv6地址变化,且每30分钟对比一下IPv6变化:

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

fca83c4afc3230474daff9c6fd470723.png

访问http://192.168.1.85:9876进行配置。

1e12dfe687362e903f86f57fe0d0de43.png

登录之后,需要选择DNS服务商,并配置AccessKey ID和AccessKey Secret。

7dac15b2c7e008f9ca3d52efcb415322.png

如果没有AccessKey ID和AccessKey Secret,需要到阿里云官网的AccessKey控制台进行配置,点击创建即可一键生成。注意,AccessKey只在创建时提供Secret,后续不可再进行查询,所以请在展示页面及时保存或下载CSV文件,避免无法查询。

d4d20e02f3459265ce7f77093706e4aa.png

关闭掉IPv4功能,仅启用IPv6部分,获取IP方式选择“通过网卡获取”,并在Domains处配置要解析的域名。

6c5b1692700e9507b8787cc9b17e6ed6.png

最后点击页面底部的“保存”按钮。

之后,ddns-go开始执行任务,成功新增域名解析,解析值为接口的第一个IPv6地址,并开始执行定时任务。

1efdcc9e9fb7f425120364acd2df2004.png

在云解析DNS控制台,可以看到新增的AAAA记录。

b1406d7a89f32e539fe273c9fc97671e.png

测试通过域名进行访问。

86b58d4f1da7ea986754e467f3e1ad0c.png

解析成功且能正常访问,测试成功。

d8a202fcd0fce14273908dbc8f019b11.gif

长按二维码

关注我们吧

b42e5d199c8f39633c552021b51fa2f6.jpeg

a977b388809bb1d260ffe1d38dbec092.png

配置PPPoEv6服务器为终端分配IPv6地址

企业路由器配置IPv6家用宽带的PPPoE拨号示例

H3C MSR NAT66配置指北

配置GRE over IPv6隧道

IPsec over GRE over IPv6配置案例

如何在Ubuntu 23.10部署KVM并创建虚拟机?

通过命令行配置调整KVM的虚拟网络

将iStoreOS部署到VMware Workstation

将iStoreOS部署到VMware ESXi变成路由器

在Ubuntu系统手撸一个自动创建SSL证书的SHELL脚本

ufw命令简介

与CentOS用户态完全兼容的TencentOS你用过没?

在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。