Sleepstars 的记录室

Sleepstars 的记录室

在 Unraid 中安装 DDNS-GO

2024-08-20

众多 DDNS 程序中,DDNS-GO 因其具有 WEB 可视化界面、支持 Webhook、失败解析通知等功能一直深得我心,但是 Unraid 应用商店中默认不含有它,所以这次我们来手动安装。

DDNS-GO 简介

DDNS-GO 是一款开源的动态域名解析(DDNS)工具,专为需要将本地 IP 地址动态更新到域名解析记录中的用户设计。它允许用户将家中的路由器或服务器的动态公网 IP 通过域名解析自动更新到 DNS 服务提供商,从而实现无论 IP 地址如何变化,用户都可以通过域名访问到本地的服务或设备。

其有相当鲜明的优点:

  1. 支持多种DNS服务提供商:DDNS-GO 支持主流的 DNS 服务提供商,如阿里云、腾讯云、Cloudflare 等,用户可以轻松选择并配置自己需要的服务。

  2. 简单易用的配置:DDNS-GO 提供了简洁的配置文件,用户只需填写必要的信息,如 API 密钥、域名和子域名等,即可快速启动服务。

  3. 日志与状态监控:工具提供详细的日志记录和状态监控功能,帮助用户了解解析记录的更新情况,方便故障排查。

  4. 轻量化:作为一个轻量级工具,DDNS-GO 运行时占用资源少,非常适合在低配置设备上运行。

  5. 多配置文件:WEB 中可以添加多个 DDNS 配置文件,满足多提供商的要求。

部署前准备

部署之前,要做好如下事前准备:

  1. 有一台跑 Unraid 的服务器(废话)

  2. 确保你的 DNS 提供商在支持列表内:
    目前支持如下 DNS 服务商

    阿里云

    Callback

    NameSilo

    GoDaddy

    腾讯云

    百度云

    Dynadot

    华为云

    Dnspod

    Porkbun

    Cloudflare

    Namecheap

  3. 提前申请好各个服务商的相关api(可以安装后跟据提示申请)

Unraid DDNS-GO 安装

进入 Unraid 主界面 > 顶栏选择 Docker >点击下方添加容器 > 右上角进入高级视图进入具体配置界面

详细配置示例图:

Unraid Docker 界面

如果你的设置界面没有这么详细,请一定打开这个详细信息显示:安装模板

图片中可能会用到的相关参数:

名称:DDNS-GO

概述(这个不重要可以不加):自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。

存储库:jeessy/ddns-go

Registry URL:https://hub.docker.com/r/jeessy/ddns-go

图标链接(这个图标真的很抽象,不知道有没有大佬可以重绘一下):https://raw.githubusercontent.com/jeessy2/ddns-go/master/favicon.ico

WebUI(9876 可以自己修改):http://[IP]:[PORT:9876]

自行添加一个端口,名称随意,添加为9876

注意: 网络类型必须选择 host,否则无法使用网卡模式获取 IP

DDNS-GO 配置

输入 http://[你的IP]:9876 进入 WEB-UI 界面进行设置

可以添加多配置文件DDNS-GO 模板

自行配置相关 API

DDNS-GO 配置信息

若 Uraid 直通公网 IP 则可选择网卡获取,处于 NAT 下的可以选择通过接口获取

DDNS-GO 网卡配置

IPv6 一般使用通过网卡获取或者通过命令获取

获取公网 IP 地址的获取命令:ip -6 addr | grep inet6 | awk -F '[ \t]+|/' '$3 == "::1" { next;} $3 ~ /^fe80::/ { next;} /inet6/ {print $3}'

IPv6 选项

为了确保安全,启用禁止公网访问,如果必须公网访问就一定要使用 https 反代页面

禁止公网访问

如果需要远程日志推送,可以跟据教程部署 Webhook

官方 Webhook 服务

更加详细的配置,请参考官方 wiki:

https://github.com/jeessy2/ddns-go/wiki

感谢开源项目作者

项目 GitHub 地址:

https://github.com/jeessy2/ddns-go