Unifi的USG自身的DDNS不支持dnspod,这让原本在腾讯云申请的几个域名得不到利用,但我们可以有其它办法…
背景
家里的内网一些服务希望在外部可以访问,它需要在路由上动态注册自己的IP到某个域名,此即所谓的DDNS(Dynamic DNS)[https://en.wikipedia.org/wiki/Dynamic_DNS]。然而新入手的USG作为主路由,其所支持的如下: 如何让我们托管在dnspod.cn上的域名可以使用DDNS呢?
机制
unifi在pppoe拨号成功后,会调用起/etc/ppp/ip-up.d
下的脚本,所以我们只要在对应目录下放置更新dnspod的脚本即可。(PS:网上的一些定时触发刷新ddns的方式,不如依赖于此oncall机制优雅)
步骤
在github上找到一个纯shell的ddns脚本并且支持dnspod。使用方法参看其介绍,很简单,不赘述。注意使用dnspod需要申请API Token等。
将上面脚本文件拷贝到
/etc/ppp/ip-up.d
并设置执行权限,如脚本名叫update-dnspod
|
|
- 我们可以在USG的终端重新拨号看看是否能正常上报。
|
|
这时可以去云厂商的DNS解析中查看,应该已经刷新记录了。