Hexo个人博客
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

title tags categories abbrlink date keywords description
NAS使用DDNS [网络 NAS技术] NAS基础 28082 2023-08-22 11:02:22 <nil> <nil>

群晖自带的DDNS无法使用泛域名,我在NAS使用过程中需要把域名的所有子域名都通过DDNS指向本机,所以在这里采用装第三方DDNS服务的方法来使用DDNS。

DDNS其实就是动态的调整DNS服务器中的A记录,实现的前提就是域名服务商提供API来修改域名的A记录,我们在需要使用DDNS的地方通过脚本来获取可能动态会变动的公网IP,然后通过API告诉域名服务商修改A记录。

因此,实现DDNS需要做两件事:第一,获取DNSPod的API Token;第二,在本地用程序获取公网IP地址并使用DNSPod API更新A记录。

获取DNSPod Token

在DNSPOD的控制台中,如下图所示点击API密钥中。

点击DNSPod Token并创建密钥,记录下ID和Token。

动态更新DNS

我在威联通上通过docker-compose来实现DDNS。

在nas上合适的位置创建目录,并创建如下文件。

其中docker-compose文件如下:

---
version: "3"
services:
  ddns-go:
    image: jeessy/ddns-go
    container_name: ddns-go
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    network_mode: "host"
    restart: unless-stopped

在ddns-go目录下执行命令docker-compose up -d命令来启动ddns-go,使用docker-compose logs -f来查看启动日志,如果启动没有问题,那么就可以使用浏览器访问http://192.168.31.206:9876来访问。ddns-go的配置界面如下:DNS服务商选择Dnspod;ID和Token设置为上面记录的值;Domains设置为*.dreamlyn.cn。

啰嗦一句,最开始的时候,我是将DDNS的域名设置为home.dreamlyn.cn,并将*.dreamlyn.cn的cname设置为home.dreamlyn.cn。但这样设置的话,后面在使用traefik进行DNS Challenge时会存在问题,不得已只好将DDNS直接设置为*.dreamlyn.cn。

在其他配置中,设置登录用户名、密码并保存。

查看右侧的日志并登录DNSPod的后台看*.dreamlyn.cn的A记录是否变更,如变更,则说明DDNS安装成功。

至此,我们便打通了从 外网到NAS的线路,也就是说访问*.dreamlyn.cn:880时会映射到NAS的80端口,访问*.dreamlyn.cn:8443则会映射到NAS的443端口。