ddns解决ip变动问题

之前介绍了通过ipv6访问内网服务,在使用中发现之前还能访问的服务忽然访问不了了,定位发现是ipv6的ip变了。

我们在设置dns记录(绑定域名和ip的关系)时,指定了一个ipv6地址,后面ipv6变动了,dns记录仍然指向的是旧的ipv6地址,这就会解析出错,访问不可能到达正确的服务地址。

问题出现了,也找到了原因,那么就很好解决了,只要每次ip变动后,重新配置下dns记录即可。是不是很简单?但是如果每次都手动配置,那太麻烦了,而且还要盯着ip什么时候变动,根本不现实。

对于这种重复的事情,程序自动化才是救赎之道——ddns。

DDNS,全称 Dynamic Domain Name Server,即动态域名服务,是将用户的动态ip地址映射到一个固定的域名解析服务上,用户每次ip变动的时候,DDNS服务就会通过dns服务商提供的API把dns记录调整为新的ip。

原理很好理解,和手动修改的逻辑一样,只不过是程序自动完成。网上已经有很多优秀的开源ddns软件,比如

我们就不重复造轮子了。我使用的是ddns-go,下面就简单介绍下如何使用。

下载安装

首先,在发布页根据自己的系统下载对应的安装包

ddns-go发布页

下载好解压后,运行命令安装服务

sudo ./ddns-go -s install

配置

安装的服务除了监听ip变化外,为了方便用户配置,还启动一个web服务,端口9876,提供UI界面共用户进行一些配置。web服务默认是无法通过外网访问的,所以我们先通过内网进行配置

ddns-go配置页-1

ddns-go配置页-2

到这里,ddns-go就安装配置完毕了,是不是很简单。

ddns-go默认每5min检查一次ip的变动,所以理论上,你的服务最长有5min的中断期,但对一个个人服务来说,这完全是可以接受的。

相关链接: