使用Cloudflare API + ddclient 实现DDNS动态更新域名解析
创建Cloudflare API
Cloudflare创建区域DNS API 提高安全性,进入“我的个人资料-API令牌-创建令牌-选择编辑区域DNS模板-选择需要的域名-继续以显示摘要”
会获得一个api令牌,只会显示一次,安全保存
安装ddclinet客户端
下载客户端
wget https://github.com/ddclient/ddclient/archive/refs/tags/v3.11.2.tar.gz
*建议前往项目下载最新客户端 https://github.com/ddclient/ddclient/releases
解压程序,并进入解压后的目录
tar xvfa v3.11.2.tar.gz
cd ddclient-3.11.2
安装autoconf
apt-get install autoconf -y
apt-get install build-essential -y
安装Perl (这一步可能不需要?)
cpan HTTP::Daemon HTTP::Daemon::SSL HTTP::Message::PSGI HTTP::Request HTTP::Response Test::MockModule Test::TCP Test::Warnings URI
编译安装
./autogen
./configure \
--prefix=/usr \
--sysconfdir=/etc/ddclient \
--localstatedir=/var
make
make VERBOSE=1 check
sudo make install
编辑 /etc/ddclient/ddclient.conf 可以参考下面的配置
######################################################################
##
## 全局配置
##
######################################################################
daemon=60 # 每60秒检查一次IP更新
syslog=yes # 将更新日志写入系统日志
mail=root # 将所有消息发送到root用户
mail-failure=root # 将失败的更新消息发送到root用户
pid=/var/run/ddclient.pid # PID文件路径
ssl=yes # 使用SSL支持
######################################################################
##
## 获取公网 IP 的配置(通过 Web 服务)
##
######################################################################
use=web # 使用Web服务获取IP
web=https://ipinfo.io/ip # 获取外部IP的Web服务
######################################################################
##
## Cloudflare 区域 API Token 配置
##
######################################################################
protocol=cloudflare # 使用Cloudflare协议
zone=your-domain.com # 替换为你的主域名
login=token # 使用API Token进行登录
password=your-api-token # 替换为你的API Token
your-domain.com,subdomain.your-domain.com # 替换为你的主域名和子域名
复制systemd文件
cp sample-etc_systemd.service /etc/systemd/system/ddclient.service
启动并设置开机自启
systemctl enable ddclient.service
systemctl start ddclient.service
参考资料:
ChatGPT
ddclinet项目地址: https://github.com/ddclient/ddclient
暂无标签