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

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

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

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

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

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

javascript 复制代码
https://github.com/jeessy2/ddns-go

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

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

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

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

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

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

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

下载链接如下:

javascript 复制代码
https://github.com/jeessy2/ddns-go/releases/download/v6.6.9/ddns-go_6.6.9_linux_x86_64.tar.gz

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

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

-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变化:

sql 复制代码
./ddns-go -s install -f 60 -cacheTimes 30

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

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

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

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

最后点击页面底部的**"保存"**按钮。

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

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

测试通过域名进行访问。

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

长按二维码

关注我们吧


<>

配置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脚本
<>

相关推荐
学步_技术37 分钟前
Python编码系列—Python组合模式:构建灵活的对象组合
开发语言·python·组合模式
ac-er88881 小时前
在Flask中处理后台任务
后端·python·flask
ac-er88881 小时前
Flask中的钩子函数
后端·python·flask
o独酌o1 小时前
递归的‘浅’理解
java·开发语言
Book_熬夜!1 小时前
Python基础(六)——PyEcharts数据可视化初级版
开发语言·python·信息可视化·echarts·数据可视化
waterHBO1 小时前
R语言 基础笔记
开发语言·笔记·r语言
m0_631270402 小时前
高级c语言(五)
c语言·开发语言
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS在线文档管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
2401_858286112 小时前
53.【C语言】 字符函数和字符串函数(strcmp函数)
c语言·开发语言
Flying_Fish_roe2 小时前
Spring Boot-版本兼容性问题
java·spring boot·后端