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、进行详细配置
首先填入从域名注册商那里获得的 SecretId
和SecretKey
,TTL设置为自动就可以。
根据自己网络情况选择启用IPv4或者IPv6,由于我家电信没有公网IP,所以我使用的是IPv6
获取 IP 方式根据情况选择,我选择通过网卡获取
Domains填写你的域名即可,可以填写多个域名
9、测试成功,可以从公网上访问自己的Debian了。
当然前提是你的公网支持IPv6,不支持的话会无法解析域名。