前言

最近truenas系统盘莫名其妙爆炸了,重装完系统发现应用池还活着,但是原来truenas应用市场里安装的ddns-updater失效了,重装后不是获取ip失败就是unset,正好truenas24.10开始换成原生docker了,所以我直接找了教程比较多的ddns-go来替代。

准备

  • truenas24.10之后的应该都可以
  • truenas可以正常连接上docker hub

docker安装ddns-go

进入truenas的应用池,右上角探索应用程序进入应用市场,再点击右上角自定义应用程序使用docker
名称随意,仓库名称填写jeessy/ddns-go,标签默认latest即可;翻到网络设置,勾上Host Network启用本地网络方便获取ip地址,要不要配webui随意,ddns-go使用的端口号是9876;存储设置挂载路径/opt/ddns-go,配置完成点击安装。

配置ddns-go

浏览器访问192.168.x.x(你的nas内网地址):9876进入ddns-go管理界面,设置账号密码
按照你的实际情况选择dns服务商,我的域名是cloudflare管理的,这里我选择的是cloudflare,填写令牌token就行。

cloudflare创建Token

cloudflare创建token很简单,进入cloudflare,右上角选择配置文件进入我的个人资料,左边栏选择API令牌,按照下图创建令牌。

选择第一项编辑区域DNS,点击使用模板。

将第二项区域资源特定区域改成所有区域就行,其他不用改,下拉保存,就可以复制Token了,这个Token只会显示一次,忘了下次就重创一个。

解析ip地址

回到ddns-go配置,按照你的实际情况选择解析ipv4和ipv6,我这边联通不给公网ipv4所以只需要解析ipv6,通过接口或者网卡获取都行,我配置docker时选了Host Network,所以这里直接用的网卡,最后把你想要解析的域名填上,拉到最底下保存即可。

记得翻翻日志看看是否生效

参考文献

Sagit