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

相关推荐
楚灵魈36 分钟前
[Linux]从零开始的STM32MP157 Busybox根文件系统构建
linux·arm开发·stm32
Caron_xcb41 分钟前
大数据基础——Ubuntu 安装
大数据·linux·ubuntu
酒吧舞男43 分钟前
Ubuntu20.04安装使用ROS-PlotJuggler
ubuntu
南暮思鸢1 小时前
应急响应基础模拟靶机-security2
linux·网络安全·write up·应急响应靶机
码农黛兮_461 小时前
Linux 常用命令集合
linux
迷茫的蜉蝣1 小时前
ev_loop_fork函数
linux·c语言·libev
TianJinZi3 小时前
linux环境安装docker
linux·运维·docker
海风极客3 小时前
《Go小技巧&易错点100例》第三十一篇
开发语言·后端·golang
IT飞牛3 小时前
Linux服务器常用运维工具/命令
linux·运维·服务器
兰德里的折磨5504 小时前
新手在使用宝塔Linux部署前后端分离项目时可能会出现的问题以及解决方案
linux·运维·服务器