DDNS配置
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
DNS的作用大家都理解,可以使用域名来访问IP地址,但是我们很多人的家中都没有静态的DNS地址,有些人家中有动态的IP地址;亦或者服务器只能提供动态的ip地址,IP地址的不断变化导致我们不能使用传统的DNS,这里就需要使用动态域名服务DDNS了。最为简单的方式就是使用DDNS-GO这个项目,里面其实有很详细的的文档说明,博客仅记录自己的安装过程,防止后续遗忘
项目地址:ddns-go
1. 安装Docker
bash
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
2. Docker部署ddns-go
不想使用docker中的host模式,想自定义端口来进行访问,在这里使用服务器的54321映射到容器内部的9876端口【我这里使用的是54321!!可以自己修改!!!后面也默认54321】
bash
docker run -d --name ddns-go --restart=always -p 54321:9876 -v /opt/ddns-go:/root jeessy/ddns-go

3. 进行配置
打开http://ip:54321
进行配置,打开界面如下

3.1 获取Cloudflare Token
我是用的是cloudflare,需要获取Token

- 如何获取Token,可以点击下面篮子创建令牌--->编辑区域DNS(使用模板)



- 然后选择下一步Continue to summary,确认信息,Create Token

- 随后复制Token就好了

3.2 设置ipv4 和ipv6
保持默认就好,选择通过选择接口访问,在

ipv6同理
3.3 设置公网访问

3.4 设置Webhook
可以设置Webhook进行通知,具体可以参考官方的Webhook说明,包含飞书,钉钉等https://github.com/jeessy2/ddns-go#webhook

4. 大功告成
可以去cloudflare 看一下DNS是否解析成功