博主头像
李鑫冬律师的Cyber空间

李鑫冬律师的网络笔记

Debian 12使用DDNS-GO实现动态域名解析

介绍

很多路由器的DDNS功能支持的服务商并不全面,特别是在没有公网IPv4地址的情况下,我们需要利用ipv6来实现动态域名功能,此时诸如DDNS-Go这样的第三方软件就可以协助我们完成这样的任务。
DDNS-GO支持的服务商有:阿里云、腾讯云、Dnspod、Cloudflare、华为云、百度云、Porkbun GoDaddy、Google Domain、Namecheap、NameSilo等,可以说相当全面了。

除此之外,DDNS-GO还支持其他特性:

  • 支持Mac、Windows、Linux系统,支持ARM、x86架构
  • 支持接口/网卡/命令获取IP
  • 支持以服务的方式运行
  • 默认间隔5分钟同步一次
  • 支持同时配置多个DNS服务商
  • 支持多个域名同时解析
  • 支持多级域名
  • 网页中配置,简单又方便,默认勾选'禁止从公网访问'
  • 网页中方便快速查看最近50条日志
  • 支持Webhook通知
  • 支持TTL
  • 支持部分DNS服务商传递自定义参数,实现地域解析等功能

配置过程

1、开放必须端口

DDNS-GO默认使用9876端口,需要防火墙放开该端口。如果有其他应用占用该端口,需要提前调整端口;

2、下载DDNS-GO最新版

访问DDNS-GO项目release页面,找到最新版的下载地址

[scode type="share" size="simple"]

打开DDNS-GO项目release页面,网址是: Release - ddns-go

比如我目前安装的是 ddns-go_6.2.0_linux_x86_64.tar.gz,下载地址就是 https://github.com/jeessy2/ddns-go/releases/download/v6.2.0/ddns-go_6.2.0_linux_x86_64.tar.gz

因为github已经被墙了,所以可能需要在前面加上 https://mirror.ghproxy.com,组合起来就是 https://mirror.ghproxy.com/https://github.com/jeessy2/ddns-go/releases/download/v6.2.0/ddns-go_6.2.0_linux_x86_64.tar.gz 当然如果你能正常访问github可以不用加

[/scode]

然后输入wget命令,下载

wget https://mirror.ghproxy.com/https://github.com/jeessy2/ddns-go/releases/download/v6.2.0/ddns-go_6.2.0_linux_x86_64.tar.gz

请注意:请将这里的6.2.0调整为你下载的最新版本号

3、创建DDNS-GO程序目录

mkdir /usr/local/ddns-go

4、解压文件到程序目录

tar -xf ddns-go_6.2.0_linux_x86_64.tar.gz -C /usr/local/ddns-go

请注意:请将这里的6.2.0调整为你下载的最新版本号

5、运行DDNS-GO程序

/usr/local/ddns-go/ddns-go

6、尝试在浏览器中访问DDNS-GO web控制端

访问地址是:http://你的服务器IP:9876
如果可以正常访问,在ssh控制台中按下ctrl+c结束程序

7、安装守护服务并开启自动运行

/usr/local/ddns-go/ddns-go -s install

如无意外,控制台会显示 Install ddns-go service successfully! Please open the browser and configure it,此时ddns-go安装全部完成,可以打开刚才关闭的网页进行配置。

8、进行详细配置

首先填入从域名注册商那里获得的 SecretIdSecretKey,TTL设置为自动就可以。
根据自己网络情况选择启用IPv4或者IPv6,由于我家电信没有公网IP,所以我使用的是IPv6
获取 IP 方式根据情况选择,我选择通过网卡获取
Domains填写你的域名即可,可以填写多个域名

设置情况
设置情况

9、测试成功,可以从公网上访问自己的Debian了。

当然前提是你的公网支持IPv6,不支持的话会无法解析域名。

发表新评论