Godns 自动更新公网 IP 到 DDNS 动态域名。
2019-09-05
使用泛域名解析到公网 IP 后,公网 IP 发生变化需要更新。
DDNS 更新服务不是有难度的技术,不论是路由器 Router 还是网络储存服务器 NAS,或者很多第三方脚本(比如 Python 脚本)。
Golang 语言性能和稳定兼具,看上去是个不错的选择,比如 Godns 就是一个 Go 实现的 DDNS 自动检测和更新服务。
具体部署方案,在 Nicky 的 《利用GoDNS和DNSPod设置DDNS 》里已经有详细记录。
关于下载方案,转载、摘要、编辑如下:
1、通过 https://github.com/TimothyYe/godns/releases 下载最新版。
1 | mkdir /usr/local/godns |
2、解压文件,配置文件重命名。
1 | tar zxvf godns-linux64-1.6.tar.gz |
3、修改config.json文件。
特别的,比如要更新根域名和泛域名,可以使用 @ 和 *
1 | { |
然后就可以运行
./godns
4、开机自启动
正常的 Linux 就直接放 crontab 或者启动服务就好了。
然,在类似群晖 NAS 的 DSM (修改版 linux)系统中,没有 crontab 可以用(就算启用了,下一次重启也会被清除无效)。
所以只有变通的方法,可以参考 群晖开机自动运行frpc脚本:
主要修改:
创建启动脚本:
vim godns.sh
按 i 后输入:
1 | nohup /usr/local/godns/godns -c /usr/local/godns/config.json >> /usr/local/godns/output.log 2>&1 & |
按 ESC,输入 wq 保存退出。
赋予启动权限:
chmod +x godns.sh
将脚本文件写入启动文件中
vim /etc/rc
在文件的倒数第二行(exit 0前面)添加下面的脚本文件路径,可使用 :$ 跳转到最后一行
/YOURPATH/godns.sh
重启群晖系统 reboot
UPDATE
Dodns 有个日志文件过大问题,需要单独处理。