美文网首页
自有域名DDNS

自有域名DDNS

作者: 我已不是少年郎 | 来源:发表于2021-01-20 17:39 被阅读0次

    1、背景

    使用TP-LINK的路由器,因为本地搭了个SVN服务器,想在外网使用,就用了默认的tpddns.cn的二级域名。但是这个服务非常不稳定,基本上每隔一段时间就宕机访问不了,最关键的是宕机后修复时间不可控,提交过几次工单都是几天之后才能恢复,所以就产生了可否自己做DDNS解析的想法。

    经过查阅相关资料,完全可以做到,各大域名厂商支持编程修改记录,提供了各种API,还有一些开源项目直接帮我们对接好,拿来用即可,就算出现故障,也可以自己立刻修复。

    2、搭建

    2.1、向域名厂商申请编程访问

    由于本人使用阿里的域名服务,这里仅演示阿里的申请过程,其他厂商大同小异,根据文档自行申请即可。

    根据 阿里云 accesskey文档,申请子账户,记得勾选编程访问。复制出AccessKey ID和AccessKey Secret的值保存。

    然后为子账户分配权限,这里有个坑,一定要注意,一开始我只是简单的搜索“域名”两个字,这时仅仅出现1个权限,添加后一直失败,其实这里需要分配很多权限,本人并未测试出最小权限,以下是可以正常调用的权限,也许有冗余。


    子账号权限

    2.2 使用开源工具自动给域名设置IP

    NewFuture/DDNS
    这里使用NewFuture的DDNS工具,该工具帮我们对接了主流域名厂商的API,省去了我们看文档和写代码的功夫。

    我这里使用docker直接部署。
    编写config.json

    {
      "$schema": "https://ddns.newfuture.cc/schema/v2.8.json",
      "debug": true,
      "id": "LTA*************Fu",  //替换成你自己的AccessKey ID
      "token": "x7*********UT",//替换成你自己的AccessKey Secret
      "dns": "alidns",
      "ipv4": ["lucien.****.com"],//替换成你自己的域名,这里我用的是二级域名
      "ipv6": [],
      "index4": "url:http://ip.3322.net/",
      "index6": false,
      "ttl": 600,
      "proxy": null,
      "cache":true //如果记录的IP和获取网络的IP相同不替换域名的记录值
    }
    

    使用docker部署
    docker run --name ddns -d -v /home/lucien/ddns/config.json:/config.json --network host --restart always newfuture/ddns

    5分钟后,会看到域名的IP记录修改成功,由于docker版本自己做了定时操作,所以无需再加定时,至此,自己的DDNS服务搭建成功。

    相关文章

      网友评论

          本文标题:自有域名DDNS

          本文链接:https://www.haomeiwen.com/subject/pmpkzktx.html