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

devtools/2024/10/20 19:56:45/

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


http://www.ppmy.cn/devtools/100719.html

相关文章

【网络基础】DNS协议详解:从背景到解析过程及`dig`工具的使用

文章目录 DNS 协议① 前言 - 背景② 域名③ DNS解析过程④ Linux下用dig工具 分析DNS过程⑤ 浏览器中输入URL后,会有哪些过程 DNS 协议 DNS(域名系统,Domain Name System)是互联网的一个核心协议,用于将域名转换为 IP…

@SpringBootTest单元测试中报错:无法自动装配,找不到 ‘XXX‘ 类型的 Bean

一开始照着网上教程讲Springboot原理中的代码来copy写的↓ import com.google.gson.Gson; import com.itheima.pojo.Result; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.cont…

SpringMvc 以配置类的形式代替xml文件

1、配置类 1.1、创建Mvc 项目之后创建 MyWebApplicationInitializer 类 实现接口 WebApplicationInitializer public class MyWebApplicationInitializer implements WebApplicationInitializer {Overridepublic void onStartup(ServletContext servletContext) throws Serv…

外卖霸王餐项目是什么?怎么搭建属于自己的外卖霸王餐小程序 ?

前言: 外卖霸王餐项目是一种结合了优惠促销与推广合作的商业模式,主要针对外卖行业。这个项目的核心是通过提供低于市场价的外卖餐品(通常是半价或者更大折扣)来吸引新用户尝试,并通过用户的口碑传播来增加餐厅的知名…

企业高性能web服务器及其应用服务器TOMCAT详解

一 .Web 服务基础介绍 Web 服务介绍 1.1Apache 经典的 Web 服务端 Apache 起初由美国的伊利诺伊大学香槟分校的国家超级计算机应用中心开发 目前经历了两大版本分别是 1.X 和 2.X 其可以通过编译安装实现特定的功能 1.1.1Apache prefork 模型 预派生模式&#xff0c…

前沿重器[55] | prompt综述的解释和个人思考

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…

Vue中的this.$emit()方法详解【父子组件传值常用】

​在Vue中,this.$emit()方法用于触发自定义事件。它是Vue实例的一个方法,可以在组件内部使用。 使用this.$emit()方法,你可以向父组件发送自定义事件,并传递数据给父组件。父组件可以通过监听这个自定义事件来执行相应的逻辑。 …

四,接口类型和网络协议

四,接口类型和网络协议 在前后端开发中,常用的接口类型/协议主要涉及网络协议和应用程序接口(API)两个方面。以下是对这些常用接口类型/协议的详细归纳: 一、网络协议 网络协议是前后端通信的基础,它们定…