飞牛配置 ddns-go 实现ipv6解析域名
第一步、准备域名
可以选择免费域名或购买一个便宜的域名,有个位数 /年的域名。购买后建议解析到cloudflare,可以白嫖许多服务,包括但不限于部署一个静态网站,就如本站本站域名qianyigz.eu.org。*.eu.org后缀域名原本是免费注册,但是目前已停止审核新域名(网传)。暂时可选的方案有:
- 购买域名,任意域名服务商均可,尽量选择能够解析到cloudflare的域名服务商,目前作者测试过阿里云域名注册
- 可以选择dpdns.org/qzz.io后缀域名,免费。需要github账号,自行查询。缺点解析到cloudflare需要配置一些东西较为麻烦。
- 可选的解析dns服务商还有dnspod、cloudflare等,都可以实现ipv6解析。dnspod需要微信登录,cloudflare使用邮箱登录,且可以白嫖静态网页部署(推荐),dnspod如果仅仅进行ip解析速度也不错。
第二步、准备ddns-go的安装包
- 之所以不选择应用中心套件,之前体验时存在没有更新ip的问题,有可能无法获取到IP地址,所以我的选择是系统安装,直接安装在底层系统中。
- github地址:https://github.com/jeessy2/ddns-go

在下方选择构建的版本,点击进入。

3. 选择适合您系统的版本,点击下载。
由于飞牛nas系统是基于Linux开发的,所以这里我们选择Linux版本。当然也可以安装在Windows系统中,选择对应的Windows版本即可,同时需要注意自己的设备架构,x86还是arm架构,目前飞牛nas系统是x86_64架构的(据说有ARM架构的版本,期待下),所以选择x86_64版本的ddns-go软件包。
当然,你下载时大概率会遇到网络问题下载异常慢,这是因为github的服务器在国外,所以下载速度会很慢。这里推荐一个github文件加速网站:https://github.akams.cn/ 复制下载文件的地址,使用这个网站下载文件,速度会快很多,记得给这样的作者一个赞。 
第三步、上传安装文件到飞牛nas
可以使用飞牛nas的文件管理功能,将下载好的ddns-go软件包上传到nas中。然后在文件管理中找到上传的文件,点击右键查看详细信息,复制原始路径。此路径可以用于后续的ddns-go安装。
第四步、安装ddns-go
使用ssh工具链接nas,提前在nas设置中开启ssh功能。常用工具有Xshell,自行找合适的工具,我使用的工具是Windterm。使用ip加nas的管理员账户登录nas。我是采用root账户安装的ddns-go。
(可选)切换root账户方法:输入命令su,然后输入管理员账户的密码即可切换到root账户。

解释操作命令
mkdir ddnsgodownload #在当前目录下创建了一个目录,名字可以自选
ls # 查看当前目录下的文件
cd ddnsgodownload # 切换到ddnsgodownload目录下
cp /vol1/1000/资料/ddns-go_6.13.2_linux_x86_64.tar.gz . # 复制ddns-go软件包到当前目录下,参数说明:/vol1/1000/资料/ddns-go_6.13.2_linux_x86_64.tar.gz 是之前复制的ddns-go软件包的原始路径,. 表示复制到当前目录下
ls # 查看当前目录下的文件,确认ddns-go软件包已经复制到当前目录下
tar -zxf ddns-go_6.13.2_linux_x86_64.tar.gz # 解压ddns-go软件包
ls -l # 查看当前目录下的文件,确认ddns-go软件包已经解压到当前目录下,此时的ddns-go即为可执行文件安装部分
安装服务
Mac/Linux: sudo ./ddns-go -s install
Mac/Linux:sudo ./ddns-go -s 安装
Win(以管理员打开cmd): .\ddns-go.exe -s install
配置
打开浏览器并访问http://localhost:9876进行初始化配置
[可选] 服务卸载
Mac/Linux: sudo ./ddns-go -s uninstall
Mac/Linux:sudo ./ddns-go -s 卸载
Win(以管理员打开cmd): .\ddns-go.exe -s uninstall
[可选] 支持安装带参数
-l 监听地址
-f 同步间隔时间(秒)
-cacheTimes 间隔N次与服务商比对
-c 自定义配置文件路径
-noweb 不启动web服务
-skipVerify 跳过证书验证
-dns 自定义 DNS 服务器
-resetPassword 重置密码查看安装结果
systemctl list-unit-files | grep ddns # 查看ddns-go服务是否安装成功
systemctl status ddns-go # 查看ddns-go服务的状态,参考下图:active正在运行,此时访问nas的ip+9876即可打开ddns-go的web界面
我的界面是已配置过需要验证,正常安装完会直接进入配置界面

第五步、获取cloudflare的api token
登录cloudflare账号,点击右侧顶部“我的”图标,然后点击“配置文件”。

点击“api令牌”,然后点击“创建令牌”按钮,选择“编辑区域DNS”模板进入。

配置令牌各种信息,包括令牌名称、区域、权限等 (区域选择所有,建议有效时间选择长一点)。


点击“创建令牌”按钮,即可获取到api token。
第六步、配置ddns-go
- 打开ddns-go的web界面,点击“添加”按钮,添加一个新的ddns记录。

- 配置ddns记录的各种信息,包括域名、记录类型、记录值、TTL等。

3. 点击“保存”按钮,即可保存ddns记录。
- 验证ddns记录是否配置成功,1-查看日志,2-返回cloudflare的ddns记录页面查看,3-寻找一个在线ping网站测试能否联通。


常见问题
- 如何将域名托管到cloudflare: https://www.97z.net/articles/99
- ipv6解析成功,但是无法连接到nas。
排查办法:
- 检查nas的ipv6地址是否正确,是否与cloudflare的ipv6地址一致。若是fe80开头的地址,说明是链路本地地址,通常是无法直接通过ipv6地址访问nas的,仅能局域网下使用,未获得公网地址,公网地址开头以240e或其它,请检查ipv6是否开启。
- 检查路由或光猫防火墙是否开启了ipv6防火墙,是否允许ipv6流量通过。若光猫未设置桥接模式,通常是无法直接通过ipv6地址访问nas的。因为在光猫的配置中,存在一个安全机制,阻止外部ipv6流量直接访问nas,需要在光猫的超级管理员账户中,降低或关闭ipv6防火墙,或者开启桥接模式。