在 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 客户端,推荐用于家庭宽带、自建服务器等场景。

相关推荐
PellyKoo3 小时前
【linux运维】ubuntu+samba 用户组独占目录权限配置踩坑记
linux·运维·ubuntu
AR-26710-3 小时前
Linux Day15——系统管理复习
linux·运维
高山有多高4 小时前
【Linux笔记】Linux自定义Shell
linux·c++
姜鱼问生4 小时前
HTTPS 部署实战:未备案域名 + 非标端口的完整方案
linux·https
jackletter4 小时前
linux:安装 ubuntu 26.04.1
linux·ubuntu·ubuntu26.04.1
2401_869769594 小时前
make 进度条
linux
YYRAN_ZZU6 小时前
如何编一个gcc的交叉工具链
linux·c++
shjita6 小时前
centos中安装docker
linux·docker·centos
程序猿老A6 小时前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
wuminyu6 小时前
JVM虚拟线程的底层实现原理分析
java·linux·c语言·jvm·c++