在openWrt部署阿里云的DDNS

在OpenWrt部署阿里云域名的DDNS

校园网送我个公网ip, 不用白不用

使用Github开源项目: https://github.com/jeessy2/ddns-go

自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。

支持的域名服务商 阿里云 腾讯云 Dnspod Cloudflare 华为云 Callback 百度云 Porkbun GoDaddy Namecheap NameSilo Dynadot

1. 注册一个域名

加油

2. 申请一个AccessKey

登陆阿里云RAM控制台, 新建一个子帐户, 并为子账户配置AliyunDNSReadOnlyAccessAliyunDNSFullAccess的权限策略.

然后创建一个AccessKey, 并记住它

3. 在openWrt中使用DDns-Go

3.1 查看系统架构

在OpenWrt-状态-系统-架构里可以看到自己路由器的系统架构

3.2 下载对应的包

Release下载对应的包, 注意要选择Linux系统的包

3.3 把包推送到路由器

Linux下, 我们可以使用scp命令, 把文件推到路由器.

1
scp -O <filename> root@[ip]:[path]

比如说:

1
scp -O ddns-go root@192.168.1.1:/root

Windows的小伙伴可以参考windows怎么把文件传到Linux服务器.

3.4 运行安装

使用ssh连接上OpenWrt后, 我们cd到ddns-go文件所在的目录下, 执行

1
./ddns-go -s install

当我们看到下图所示的连接后, 我们可以通过 网关ip+端口的形式访问到web配置页, 比如说我的就是:192.168.1.1:9876

03

3.5 简单的配置

选择指定的域名商, 添加刚才让你记住的AccessKeySecretKey.

04

添加自己的域名 比如说我想绑定我自己的二级域名 aaa.example.com, 那就填写aaa:example.com

image-20241021003819535

然后保存

3.6 配置域名解析

进入阿里云域名控制台 > 域名列表 > 选择你的域名 > 域名解析 >添加记录

我们添加一个A记录用于ipv4, 主机记录填我们刚才填的aaa, 记录值可以随便填, 只要符合ip规则即可, 后续我们的ddns服务会自动的更新公网ip

image-20241021004403525

不出意外, 我们的记录值会自动的更新

image-20241021004705990

终端也会输出

image-20241021004817450

那么恭喜你,成功的配置好了DDns!

4. 太好了! 终于配好了

简单部署一个go的服务上去测试一下!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package main

import (
"io"
"net/http"
)

func pingHandler(w http.ResponseWriter, r *http.Request) {
if r.URL.Path != "/ping" {
http.NotFound(w, r)
return
}
io.WriteString(w, "pong")
}

func main() {
http.HandleFunc("/ping", pingHandler)
http.ListenAndServe(":8080", nil)
}

不出以外, 也是可以通过域名访问的到的.

08


在openWrt部署阿里云的DDNS
https://blog.mggo.xyz/2024/10/20/在OpenWrt部署阿里云域名的DDNS/
作者
MangoGovo
发布于
2024年10月20日
许可协议