这个二级域名生成器是专门给域名管理员还有开发人员用的一个批量创建子域名的工具。它最核心的功能就是在那些已经存在的主域名下面, 快速地生成、校对并且导出那些符合命名要求的子域名列表。

接下来本文将从参数配置这一环节开始, 然后是批量生成这一环节, 最后是可用性检测这一环节, 来说明整个的操作流程到底是怎么进行的。

一、命名规则配置

在使用二级域名生成功具的时候, 首先需要做的一件事情就是把命名规则方面的参数给它设定好, 这里边一共是包括了四个项目要你去处理。

关于前缀字符集这一点, 它对子域名前缀所允许的字符类型做出了限定, 也就是说只能使用小写字母 a-z, 或者是数字 0-9, 以及连字符 -, 对于单个层级的其长度范围要求在 2 到 63 个字符之间, 并且必须符合 RFC 1123 这个命名规范。

对主域名实施绑定操作, 需要固定后缀部分。具体来说是这样子的。比如把主域名设定为gname.xin这种情况。那么所有生成出来的结果都统一变成「前缀.gname.xin」这种格式了。

这个排除词库, 就是填入一些那些被占用了或者是需要被禁用的关键词列表。然后系统在生成的阶段会自己自动跳过那些匹配的项。这么做就是为了避免出现无意义的输出结果。

存在多级层次这一情况, 这种多层次结构是可以支持的, 它支持类似于 a.b.gname.xin 这样的形式的多级子域名, 并且可以按照国家互联网信息办公室规定的相关标准, 分别设置每一级的字符上限以及分隔符, 但是总的长度不能超过253个字符, 这是因为 RFC1035 中存在相关的限制。

二、批量生成与导出

规则配置完成后, 点击生成按钮就行了, 这样就能批量输出那个候选子域名的结果, 系统在生成的时候提供两种模式供选择。

1. 所谓枚举模式, 其实就是按照既定的规则, 对所有的字符组合进行无死角的全面排查和穷尽式列出, 这种方式只适用于字符集合相对较小的特定场景之中, 比如使用两个字母搭配四位数字的情况, 总共只会产生468种不同的组合结果, 并且在数秒时间之内就能把全部的组合生成完毕。

2. 随机模式是这样的, 它是在规则的约束之下进行随机的抽样, 比较适合那些需要十万级别以上的候选量的场景, 同时它还支持设定抽样的数量以及随机种子值, 以此来保证结果可以被复现。

输出格式支持 CSV 这三种方式、纯文本 TXT, 还有 JSON, 这三个类型, 文件是可以直接导入到 DNS 管理面板里的, 还可以导入到 CI/CD 部署脚本里面去, 或者也可以是 CDN 配置系统当中, 这样做的话是完全可以不用再经过二次转换这个过程的。

三、可用性检测

在生成完毕以后, 需要针对每一行数据去运行一遍 DNS 检查的操作, 用来验证对应的二级域名资源是不是还没有被别人使用掉:

内置检测模块自动发起查询, 查询类型包括A记录、AAAA记录和CNAME记录, 然后它将这些查询结果标记为三种不同的状态, 分别是被称作“可用”的状态、被称作“已占用”的状态以及被称作“解析异常”的状态。

只有处于“可用”状态的那个子域名, 才会进入最终要被导出出来的那个列表, 而那些不是这个状态的记录呢, 就被放到异常日志里面去了, 并且还要标清楚它们出现问题的具体是什么个原因。

该系统支持设置自定义的检测超时阈值, 这个阈值的默认值是 3 秒。用户还可以设置失败重试的次数, 默认的重复尝试次数是 2 次。通过这样的方式, 能够更好地适应各种各样的网络环境状况。

在检测环节完成以后, 系统会自动生成一份汇总报告, 该报告会显示可用率、呈现冲突项清单, 并提供建议替换方案。

四、这是典型应用场景。

在多租户的软件即服务系统里面, 我们会根据那个用来区分不同用户的编号, 把一批专门给各个用户用的子网站地址一次性都做出来, 然后把它们和那些单独的页面链接起来, 这样就能让不同的用户之间互不干扰, 各自访问自己的部分。

进行灰度发布和相关的测试工作。会生成像 staging-01、staging-02 这样的测试用子域名。通过 CDN 的分层规则来对灰度流量实施路由操作。

在 SEO 的分站运营这一块, 我们要去为不同的区域或者说是不同的语言, 专门生成出分站的子域名来, 并且要把独立的 sitemap 这个东西, 分别提交给各个搜索引擎。

上面的这个流程, 它把二级域名生成器从设定规则开始, 一直到最终交付为止的整个过程, 都给涵盖进去了。操作人员只需要按照规定好的步骤,一步一步地去执行工作, 最后就能把一次批量的子域名配置任务给完成掉, 顺便也把部署之前准备工作都给做好了。