介绍
本文讲述如何用最简单的方式快速开始使用cloudflare ddns。
准备操作
1. 注册cloudflare账号
本文不会详细将这个,请参考其他教程。
2. 获取cloudflare的api key
- 访问https://dash.cloudflare.com/profile/api-tokens,右上角处可以切换为简体中文
- 点击创建令牌,选择编辑区域DNS模板
- 名称任意填写
- 令牌权限选择编辑区域DNS,令牌的权限务必选择
- 区域-区域-读取
- 区域-dns-编辑
- 区域资源,选择需要用于ddns的域名
- 客户端IP(可选),这个用于区别调用客户端的白名单,由于本文讲解ddns,本身访问的公网IP就是动态的,所以这里最好不要填写
- TTL,定义此令牌将保持活动状态的时间长度。这个不需要填写
完成后点击创建令牌,并拷贝token
3. 获取zone id
- 访问https://dash.cloudflare.com/
- 选择需要用于ddns的域名
- 页面右下角即可看到zone id
快速开始
Windows x64
基础使用方式
- 从下载页 下载cf-ddns-windows-x64-(version)-RELEASE.exe,更名为cf-ddns.exe
- 将cf-ddns.exe放到一个目录,例如C:\Users[UserName]\cf-ddns,[UserName]替换为你的用户名
- 进入到cf-ddns所在目录,打开终端,执行命令,这行命令将开始进行300秒一次的ip检查,一旦ip变化,将会更新cloudflare的域名解析
1
cf-ddns.exe -gen -zoneId=<替换为上文的zoneId> -authKey=<替换为上文的token> -domain=<替换为想使用的域名> -v4=<true: 开启ipv4, false: 关闭ipv4> -v6=<true: 开启ipv6, false: 关闭ipv6>
配合winsw ,创建windows服务使用
上文的基础使用方式,需要一直保持终端开启,如果关机或者终端关闭,将无法继续更新域名解析。这里我们可以使用winsw将cf-ddns.exe包装成windows服务。 winsw是一个开源的windows服务包装器,可以将任意可执行文件包装成windows服务,官方文档请参考这里 。
- 从下载页 下载cf-ddns-windows-x64-(version)-RELEASE.exe,更名为cf-ddns.exe
- 将cf-ddns.exe放到一个目录,例如C:\Users[UserName]\cf-ddns,[UserName]替换为你的用户名,注意后续的内容中,这个目录将会多次出现
- 从winsw 下载winsw-2.12.0-bin.exe
- 在cf-ddns所在目录,创建一个xml文件,例如cf-ddns-service.xml
1 2 3 4 5 6 7 8 9
<service> <id>cf-ddns</id> <name>cf-ddns</name> <description>cloudflare ddns</description> <workingdirectory>C:\Users\[UserName]\cf-ddns</workingdirectory> <executable>C:\Users\[UserName]\cf-ddns</executable> <startarguments>-gen -zoneId=<替换为上文的zoneId> -authKey=<替换为上文的token> -domain=<替换为想使用的域名> -v4=<true: 开启ipv4, false: 关闭ipv4> -v6=<true: 开启ipv6, false: 关闭ipv6></startarguments> <onfailure action="restart" delay="10 sec"/> </service>
- 将WinSW-x64.exe重命名为cf-ddns-service.exe,完成后的目录结构如下
1 2 3 4
C:\Users\[UserName]\cf-ddns ├── cf-ddns.exe ├── cf-ddns-service.xml ├── cf-ddns-service.exe
- 打开终端,执行命令,安装服务
1
cf-ddns-service.exe install cf-ddns-service.xml
- 启动服务
1
cf-ddns-service.exe start cf-ddns-service.xml
- 查看服务状态
1
cf-ddns-service.exe status cf-ddns-service.xml
- 卸载服务
1
cf-ddns-service.exe uninstall cf-ddns-service.xml
完成后,cf-ddns将会以windows服务的方式运行,即使关机或者终端关闭,也会继续更新域名解析。 在Windows的服务管理器中,可以看到cf-ddns服务。
Linux x64
基础使用方式
- 从下载页 下载cf-ddns-linux-x64-(version)-RELEASE.kexe
- 将下载的文件重命名为cf-ddns,并且给予运行权限
1
mv cf-ddns-linux-x64-(version)-RELEASE.kexe cf-ddns && chmod +x cf-ddns
- 将cf-ddns.kexe放到一个目录,例如/usr/local/bin
1
mv cf-ddns /usr/local/bin
- 执行命令,这行命令将开始进行300秒一次的ip检查,一旦ip变化,将会更新cloudflare的域名解析
1
cf-ddns.kexe -gen -zoneId=<替换为上文的zoneId> -authKey=<替换为上文的token> -domain=<替换为想使用的域名> -v4=<true: 开启ipv4, false: 关闭ipv4> -v6=<true: 开启ipv6, false: 关闭ipv6>
配合systemd使用
- 从下载页 下载cf-ddns-linux-x64-(version)-RELEASE.kexe
- 将下载的文件重命名为cf-ddns,并且给予运行权限
1
mv cf-ddns-linux-x64-(version)-RELEASE.kexe cf-ddns && chmod +x cf-ddns
- 将cf-ddns.kexe放到一个目录,例如/usr/local/bin
1
mv cf-ddns /usr/local/bin
- 创建服务
- 创建服务文件
1 2
# 创建服务 vim /etc/systemd/system/cloudflare-ddns.service
- 填充内容
1 2 3 4 5 6 7 8 9 10 11
[Unit] Description=cloudflare-ddns After=network.target [Service] Type=simple ExecStart=/usr/bin/cf-ddns -gen -zoneId=<替换为上文的zoneId> -authKey=<替换为上文的token> -domain=<替换为想使用的域名> -v4=<true: 开启ipv4, false: 关闭ipv4> -v6=<true: 开启ipv6, false: 关闭ipv6> Restart=on-failure [Install] WantedBy=multi-user.target
- 启动服务
1
systemctl start cloudflare-ddns
- 设置开机启动
1
systemctl enable cloudflare-ddns
- 创建服务文件
配合cron使用
- 从下载页 下载cf-ddns-linux-x64-(version)-RELEASE.kexe
- 将下载的文件重命名为cf-ddns,并且给予运行权限
1
mv cf-ddns-linux-x64-(version)-RELEASE.kexe cf-ddns && chmod +x cf-ddns
- 将cf-ddns.kexe放到一个目录,例如/usr/local/bin
1
mv cf-ddns /usr/local/bin
- 编辑cron
1
crontab -e
- 添加一行
1
*/5 * * * * /usr/local/bin/cf-ddns -gen -zoneId=<替换为上文的zoneId> -authKey=<替换为上文的token> -domain=<替换为想使用的域名> -v4=<true: 开启ipv4, false: 关闭ipv4> -v6=<true: 开启ipv6, false: 关闭ipv6> -once
docker方式
docker-cli
|
|
docker-compose
|
|