fly6022
文章18
标签43
分类2
树莓派:利用ddns-go配置DDNS实现IPv6公网域名访问

树莓派:利用ddns-go配置DDNS实现IPv6公网域名访问

本文章以树莓派为例,利用ddns-go配置DDNS实现IPv6公网域名访问。

环境

设备:Raspberry Pi 4B(4GB RAM)

系统:Ubuntu 24.04.3 LTS(arm64)

你还需要

  • 个人域名

  • 支持IPv6的网络

安装Go环境

打开命令行,键入:

1
2
3
4
sudo su
sudo add-apt-repository ppa:longsleep/golang-backports
apt update
apt-get install golang-go
1
go version

若返回信息为以下内容,则安装成功:

1
go version go 1.24.6 linux/arm64

/etc/apt/sources.list.d修改go的list文件:

url参数更改为https://launchpad.proxy.ustclug.org/longsleep/golang-backports/ubuntu

配置GOPROXY代理:

1
2
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

拷贝ddns-go源码

1
git clone https://github.com/jeessy2/ddns-go.git

编译ddns-go源码

1
2
cd ddns-go
go build

配置ddns-go

1
./ddns-go

在浏览器输入localhost:9876,进入后台。

WARNING

ddns-go初始配置需要在5分钟之内完成,否则配置不能保存。

配置时,需要DNS平台的token,这里以Cloudflare为例进行配置。

在浏览器地址栏键入 https://dash.cloudflare.com/profile/api-tokens.

img

点击"创建令牌"→“编辑区域DNS(使用模板)”

img

配置后点击"继续以显示摘要"→创建令牌。

将生成的令牌粘贴到ddns-go后台中。

img

在IPv6的“Domains”一栏中添加好自己的域名,保存即可。

等待5分钟左右,即可通过域名从公网访问内容。

设置ddns-go开机自启动

以下两种方法选择其一即可:

自带命令设置

1
./ddns-go -s install

手动设置

新建服务文件:

1
nano /etc/systemd/system/ddns-go.service

向文件写入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[Unit]
Description=Simple and easy to use DDNS. Automatically update domain name resolution to public IP.
ConditionFileIsExecutable={ddns-go路径}

Requires=network.target
After=network-online.target

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart={ddns-go路径} "-l" ":9876" "-f" "300" "-cacheTimes" "5" "-c" "/root/.ddns_go_co>

Restart=always

RestartSec=120
EnvironmentFile=-/etc/sysconfig/ddns-go

[Install]
WantedBy=multi-user.target

保存并关闭。

1
2
3
4
5
6
# 重载
systemctl daemon-reload
# 启动
systemctl start ddns-go.service
# 开机启动
systemctl enable ddns-go.service

至此,已经完成树莓派的IPv6公网域名访问配置。

本文作者:fly6022
本文链接:https://blog.kuri.ink/posts/%E6%A0%91%E8%8E%93%E6%B4%BE%EF%BC%9A%E5%88%A9%E7%94%A8ddns-go%E9%85%8D%E7%BD%AEDDNS%E5%AE%9E%E7%8E%B0IPv6%E5%85%AC%E7%BD%91%E5%9F%9F%E5%90%8D%E8%AE%BF%E9%97%AE/
版权声明:除特殊说明以外,本文采用 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0) 协议进行许可,转载请注明原出处。
×