记录我的 DNS 记录

主要观点:作者近期更改了 DNS 记录,当前使用 Hover 管理域名,其网站的 Web 仪表盘虽能做一次性更改,但长期管理 DNS 记录存在不足,如无文档记录和编辑历史。虽想使用基础设施即代码(IaC)工具管理 DNS 记录,但 Hover 无此类工具且无公共 API,迁移域名又有风险,于是作者找到在现有设置中添加文档和更改历史的方法。
关键信息

  • 使用 dnsruby gem 可在 Ruby 中列出 DNS 记录,能获取特定域名和记录类型的记录,但无法获取特定域的所有 DNS 记录。
  • 通过迭代可能的域名和记录类型,作者编写脚本获取所有 DNS 记录并保存为 YAML 文件,可用于构建编辑历史和回滚更改。
  • 可在 YAML 快照中添加注释解释 DNS 记录的用途,还编写了比较两个 YAML 快照的脚本,用于检查实时 DNS 记录与预期记录是否匹配。
  • dnsruby 很灵活,可设置让其询问 Linode 的名称服务器,在复制 DNS 记录到新提供商时提供更多保障。
    重要细节
  • 作者的当前域名注册商是 Hover,其管理域名的方式是通过网站的 Web 仪表盘,仪表盘有记录表格和编辑按钮。
  • 仪表盘管理 DNS 记录的两大缺失:无文档记录,无法记录创建记录的原因和是否仍需;无编辑历史,更改直接覆盖之前的内容,无回滚或还原按钮。
  • 作者的两个脚本分别用于获取 DNS 记录快照和比较两个 YAML 快照,完整代码可在 GitHub 上查看,这些脚本每天在 GitHub Actions 中运行,可定期检查 DNS 记录,也可按需运行。
阅读 8
0 条评论