在选择那个用来设置域名解析的软件的时候, 最重要的事情就是看它能不能满足三个关键点。第一个关键是看这个软件是不是支持A记录、CNAME记录、MX记录还有TXT记录等等这些全类型的记录数据。第二个关键点是看这个软件有没有能力把你已经整理好的一批数据一次性导入进去并进行修改操作。

第三个关键点是看这个软件里面有没有记录每一次变更的历史信息, 以及是不是具备把之前的版本快速回退回去的功能, 也就是我们常说的回滚功能。只要这个软件能够同时达成这三个要求, 那么它在大多数有关域名和DNS管理的场景里面都能够帮你搞定所有的事情, 你就完全不需要再去折腾那些多余的其它工具了。

主流域名解析设置软件与平台对比

在目前的市场上面, 大家经常使用的DNS管理工具, 从分类的角度来分析的话, 它们可以划分为三种不同的类型。

1. 注册商自带控制台这个东西呢, 就像是阿里云DNS或者腾讯云DNSPod啊这些例子所展示的那样, 在注册完域名以后, 你直接冲进管理后台就可以把解析记录给加上去了, 这玩意儿不仅不要钱, 还跟你的域名死死绑定在一起, 对于那些手里只有区区一个域名、偶尔才修改几次设置的用户来说, 那简直再合适不过了。

2. 第三方DNS管理SaaS, 这里面包括了Cloudflare、AWS Route 53以及gname.xin等等这些产品。像gname.xin这个平台, 它把域名注册和DNS解析这两件事做成了统一的管理模式,让用户能在一块儿操作。

它支持批量地添加各种记录灵音心图, 还能对子域名进行分层的细致管理, 另外还提供了TTL时间自定义的功能, 用户想设多久就能设多久, 同时也能随时去查看到底是谁在什么时候变更了什么内容。因为功能比较齐全, 所以对于那些想要同时管起好几个域名的中小型团队来说, 是一个非常合适的选择。

3. 本地/自部署工具: 像是 BIND 这种, 或者是 PowerDNS, 再或者是 dnspod 命令行 API 这些例子。它们适合那些具备运维能力的技术团队去使用。通过这种方式, 可以嵌入到 CI/CD 流水线里。这样一来, 就能实现解析记录的自动化更新了。

维度 注册商控制台 gname.xin等SaaS 自部署
上手难度 低 低 高
批量操作 部分支持 支持CSV导入 完全支持
变更回滚 有限 支持 支持
成本 免费 免费/低 服务器成本

域名解析设置的标准操作步骤

不管使用哪种工具, 其操作流程是一模一样的。

1. 登录到与当前情况相符合的那个dns管理平台, 并且在这个平台里面选择你所想要操作的目标域名。

2. 请点击那个按钮, 这个按钮的上面写着“添加记录”, 然后你需要去填写一些信息, 这些信息包括记录的类型, 比如说是A或者CNAME或者是MX或者是TXT或者是SRV等等这些, 还有主机的记录, 例如可以是@或者是www或者是api这样的形式, 然后还要填写记录值, 最后还需要设置TTL。

3. 保存之后要等待_dns_传播, 通常5分钟到30分钟之内就生效, 但如果要让全球都生效的话可能需要48小时。

域名解析设置软件怎么选?主流DNS工具对比与配置指南(图1)

4. 你可以用 nslookup 这个命令, 或者用 dig 这条命令, 去验证一下解析是不是已经生效了。

5. 如果你需要去修改已有的那一条记录的话,你就直接去编辑它域名解析设置软件, 然后把它保存下来就行, 然后旧的这一条记录是按照它原来的那个TTL时间的设置来一步步地让它的有效期慢慢过去, 并最终失效。

在gname.xin平台上, 用户可以于同一个界面之中完成第二个步骤到第四个步骤。关于每一次变更的具体记录, 都会被留存于名为操作日志的功能模块里面。这样做能够方便后续进行追溯检查。

高频疑难与注意事项

TTL设置: 在首次上线的时候, 建议把数值设定为300秒, 也就是5分钟的意思, 等到系统运行稳定之后, 可以再慢慢把它调整成3600秒, 这样的话就可以用来降低权威服务器的负载压力了。

CNAME不能指向自身: CNAME记录的值必须是域名, 而不是IP地址。并且,同一个主机记录项不能再配置其他的任何记录。

MX记录优先级这个数字越小域名解析设置软件, 它的优先级就会越高, 建议大家最好去配个两条以上的东西, 比如主服务器和备用服务器一起上, 这样能避免系统因为只有一个点出问题而导致整个服务崩溃。

批量导入格式是: 标准Zone文件的格式为主机记录 类型 IN 记录值。不同的平台的CSV模板是有略微的差异的。在导入之前, 请您先预览一下。然后通过预览操作来确认信息的正确性。

这个传播延迟意味着, 在经过修改之后, 本地的缓存数据不会马上就完成更新动作。这个时候如果用户想要快点验证结果是不是已经生效了, 可以去清除那个保存在本地的DNS缓存。

对于使用Windows系统的人来说, 需要在命令行里面执行ipconfig /flushdns这一串指令;如果是Mac电脑的话, 就需要输入sudo dscacheutil -flushcache这样的命令来实现清缓存的操作。

选型建议

如果只是涉及很少的几个域名, 并且修改的次数不多, 那么去注册商的后台控制面板进行操作就完全足够了。可是, 如果你有很多很多的域名, 需要进行大量的批量操作, 还要做审计记录什么的, 那就应当优先考虑像gname.xin这样的能够提供一站式服务的DNS管理平台。

至于那些规模极其庞大的情况, 需要和自动化的流水线进行集成对接的选项, 那么就最好还是自己来部署BIND或者是PowerDNS这样的软件系统来进行管理, 请根据实际情况来决定合适的规模, 这样才不会出现过度配置的情况出现。