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

相关推荐
是誰萆微了承諾13 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
抠脚学代码13 小时前
Ubuntu Qt x64平台搭建 arm64 编译套件
数据库·qt·ubuntu
Miracle&14 小时前
2.TCP深度解析:握手、挥手、状态机、流量与拥塞控制
linux·网络·tcp/ip
专注API从业者14 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
Ribou14 小时前
Ubuntu 24.04.2安装k8s 1.33.4 配置cilium
linux·ubuntu·kubernetes
tan180°15 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
Mr. Cao code16 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
抓饼先生16 小时前
Linux control group笔记
linux·笔记·bash
挺6的还17 小时前
25.线程概念和控制(二)
linux
您的通讯录好友17 小时前
conda环境导出
linux·windows·conda