在 Ubuntu 上安装并运行 ddns-go 教程

在 Ubuntu 上安装并运行 ddns-go 教程

什么是 ddns-go?

ddns-go 是一款开源的轻量级 DDNS(动态域名解析)客户端,支持多家 DNS 服务商(如阿里云、腾讯云、Cloudflare、Dnspod 等),适合在家用宽带、服务器等环境中自动更新 IP 地址。

本文将介绍如何在 Ubuntu 系统中快速部署并运行 ddns-go。


一、准备工作

系统要求:

  • Ubuntu 18.04 及以上版本
  • 可访问公网的网络
  • curl 或 wget 命令行工具
  • systemd(Ubuntu 默认已包含)

可选准备:

  • 提前在 DNS 服务商平台创建好域名和子域名解析记录

二、下载安装 ddns-go

你可以通过以下方式下载最新的 ddns-go 可执行文件。

使用 curl:

bash 复制代码
cd /usr/local/bin
sudo curl -L -o ddns-go https://github.com/jeessy2/ddns-go/releases/latest/download/ddns-go-linux-amd64
sudo chmod +x ddns-go

或使用 wget:

bash 复制代码
cd /usr/local/bin
sudo wget https://github.com/jeessy2/ddns-go/releases/latest/download/ddns-go-linux-amd64 -O ddns-go
sudo chmod +x ddns-go

三、首次运行

bash 复制代码
sudo ./ddns-go -s install

程序默认会监听 0.0.0.0:9876,即所有网卡地址,适合远程访问管理界面。

Web 管理页面地址为:

复制代码
http://<你的服务器IP>:9876

首次访问时会提示设置用户名和密码,作为 Web 登录凭据。


四、设置开机自启(使用 systemd)

创建 systemd 服务文件:

bash 复制代码
sudo nano /etc/systemd/system/ddns-go.service

写入以下内容:

ini 复制代码
[Unit]
Description=ddns-go Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ddns-go
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动服务并设置为开机自启:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable ddns-go
sudo systemctl start ddns-go

查看状态:

bash 复制代码
sudo systemctl status ddns-go

五、开放端口(可选)

如果启用了防火墙(如 UFW),则需手动开放 9876 端口:

bash 复制代码
sudo ufw allow 9876

六、访问管理页面并配置

浏览器访问:

复制代码
http://<你的服务器IP>:9876
  1. 首次登录系统会引导你设置登录账号和密码
  2. 选择你使用的 DNS 服务商
  3. 填入 API 密钥和域名信息
  4. 保存配置即可开始使用

七、验证 DDNS 是否生效

使用以下命令确认域名 IP 已更新:

bash 复制代码
dig your-domain.com +short

常见问题解答

Q: 启动失败提示权限问题?

确认执行权限:

bash 复制代码
sudo chmod +x /usr/local/bin/ddns-go

Q: 如何更改监听端口?

在启动时添加 --port 参数,例如:

bash 复制代码
./ddns-go --port 8080

总结

通过本教程,你已在 Ubuntu 上成功部署并运行了 ddns-go,并启用了 Web 管理界面和 systemd 开机自启功能。ddns-go 是运行稳定、功能强大的 DDNS 客户端,推荐用于家庭宽带、自建服务器等场景。

相关推荐
松涛和鸣5 小时前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
皮小白6 小时前
ubuntu开机检查磁盘失败进入应急模式如何修复
linux·运维·ubuntu
邂逅星河浪漫6 小时前
【CentOS】虚拟机网卡IP地址修改步骤
linux·运维·centos
hhwyqwqhhwy6 小时前
linux 驱动开发相关
linux·驱动开发
IT逆夜7 小时前
实现Yum本地仓库自动同步的完整方案(CentOS 7)
linux·运维·windows
S***26757 小时前
linux上redis升级
linux·运维·redis
赖small强7 小时前
【Linux 网络基础】Linux 平台 DHCP 运作原理与握手过程详解
linux·网络·dhcp
s***4539 小时前
Linux 下安装 Golang环境
linux·运维·golang
b***653210 小时前
GO 快速升级Go版本
开发语言·redis·golang
J***516810 小时前
Linux安装Redis以及Redis三种启动方式
linux·redis·bootstrap