跳过正文
  1. Javas/

基于cloudflare的ddns部署

x
作者
x
熟练掌握Spring Boot、Spring Cloud等Java技术栈,专注于分布式系统设计与微服务架构。热爱技术分享,探索编程之美。
目录

基于cloudflare的ddns部署
#

最近在研究如何使用cloudflare的api来实现动态域名解析(DDNS),这里记录一下部署的过程。

准备工作
#

  1. 注册cloudflare账号并添加域名。
  2. 获取API令牌,确保具有编辑DNS记录的权限。

项目部署
#

我是基于https://github.com/favonia/cloudflare-ddns

这个项目来进行部署的,下面是具体步骤:

  1. 克隆仓库:
git clone https://github.com/favonia/cloudflare-ddns.git

2.构建项目:

cd cloudflare-ddns
go build cmd/ddns/ddns.go

3.安装命令行工具

sudo install -m 0755 ddns /usr/local/bin/ddns

4.配置systemd服务: 执行以下命令创建服务文件:

# 创建ddns用户和组
sudo useradd -r -s /usr/sbin/nologin -m -d /var/lib/ddns ddns
#由于环境变量比较多,我们把它们放在一个单独的文件中,服务文件中引用它。
mkdir /etc/ddns
cat >/etc/ddns/config.env <<EOF
CLOUDFLARE_API_TOKEN="在这里填写你的cloudflare的api令牌"
DOMAINS="在这里填写你的域名,多个域名用,分隔"

PROXIED=false

IP4_PROVIDER=
IP6_PROVIDER=

TZ=Asia/Shanghai

RECORD_COMMENT=

DELETE_ON_STOP=true

UPDATE_ON_START=true

#这里填入你的健康检查地址,如果不需要可以留空
HEALTHCHECKS=
EOF
# 创建systemd服务文件
sudo tee >/etc/systemd/system/ddns.service >/dev/null <<EOF
[Unit]
Description=Cloudflare DDNS Updater
Documentation=https://github.com/favonia/cloudflare-ddns
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=ddns
Group=ddns

# 从文件加载环境变量

EnvironmentFile=/etc/ddns/config.env

ExecStart=/usr/local/bin/ddns
Restart=always
RestartSec=10

# 安全加固

NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
RemoveIPC=yes

[Install]
WantedBy=multi-user.target
EOF
  1. 启动服务:
sudo systemctl daemon-reload
sudo systemctl enable --now ddns

验证服务状态:
#

sudo systemctl status ddns

查看日志:
#

sudo journalctl -u ddns -f
通过邮件回复

相关文章

Java GC进化路程

4 分钟
1. 概述 # 本博客中我们将展示不同JVM垃圾回收(GC)实现的基本原理。然后我们将学习如何在应用程序中启动特定类型的垃圾回收。

部署基于artalk的评论系统

1 分钟
部署基于artalk的评论系统 # 在现代博客和网站中,评论系统是与读者互动的重要工具。Artalk 是一个开源的评论系统,具有轻量级、易于集成和高度可定制的特点。本文将介绍如何在 Hugo 博客中部署基于 Artalk 的评论系统。

反转链表

反转链表 # 这是我写的算法可以用来参考,上边有测试用例可以用来检测代码写的对不对。