泛解析域名, 也就是Wildcard DNS这种机制, 指的是在DNS记录里面使用通配符“”这样的手段, 让一个域名下面, 任何没有被单独设置过配置的子域名, 这些子域名能够自动去指向同一个目标地址的这样一个解析方式。

比如说, 要是配好了 .example.com 这样的话, 不管是什么层级啊, 什么 a.example.com、b.example.com、deep.level.example.com 之类的任意子域名, 就都能被解析了, 完全不用一个一个去加记录。

一、工作原理

泛解析操作的时候, 需要依靠DNS里面的通配符记录, 这个通配符记录一般就是A记录或者是CNAME记录:

A记录设置了泛解析泛解析域名,具体表现为.example.com指向了192.168.1.1这个地址, 这意味着凡是未在配置里单独做定义的主机名, 都会自动解析到这个IP地址上去。

所谓CNAME泛解析, 就是让.example.com对应的目标域名是target.example.net这一件事发生后的结果, 其具体表现形态为, 所有属于该范围内的子域名, 都被指引向同一个最终的目标域名。

泛解析其实就是一种兜底的规则, 假如说某个子域名现在已经有了很精确的记录, 比如www.example.com这种情况发生的时候, 系统会优先去匹配那个精确记录, 这时候泛解析就不起效果了。

二、设置步骤

1. 你需要登录域名的域名系统管理页面, 也就是由你的域名注册商所提供的域名系统的控制界面, 或者是第三方提供的域名服务商的平台。

2. 请您添加一条新的记录, 然后填写主机名为, 接着在记录类型里面选择A或者CNAME。

3. 填写目标值, 这个目标值是IP地址或者就是目标域名, 这样就可以了。

4. 设置TTL值, 这个TTL值在初次配置的时候建议用300秒, 在后面稳定的时候可以把数值调高, 调到3600秒或者更高的位置。

5. 先进行保存, 然后继续等待DNS在全球范围内的传播过程生效, 这个时间周期通常是几分钟到24小时不等, 具体的时长取决于TTL的值。

以gname.xin平台为例, 用户在其DNS管理界面中, 可以直接添加通配符记录, 支持A、AAAA、CNAME、MX, 还有多种记录类型的泛解析配置, 这种操作流程和主流注册商是一致的。

三、典型适用场景

让那些涉及多个项目或多个站点的场景, 去共同使用那同一个IP地址, 并且共同使用相同的CDN节点。

泛解析域名是什么?通配符原理、设置步骤与适用场景一次讲透(图1)

在开发测试环境里面, 可以快速地分配子域名这样做, 就不需要一条条地去添加记录了。

你需要给那个邮件系统去配一下泛解析的MX记录这个东西, 它的意思就是说, 不管是哪一个子域名发出的邮件, 最终都都会被送到同一个服务器里面去的。

在微服务架构这个环境里面, 系统会针对那些数量特别多的、一直在发生变化的、作为服务实体的节点们, 给出一个统一的, 叫做域名系统或者说是DNS的入口地址。

四、注意事项与常见误区

1. 并不是所有的记录类型都支持对它们使用通配符, 比如说 MX 记录和 NS 记录是不支持这么做的。在这些情况下通配符不能作为主机名来使用。只有 A 记录、AAAA 记录、CNAME 记录、TXT 记录以及 SRV 记录等其它类型, 才可以进行相关的操作。

2. CNAME泛解析存在RFC 1045限制, 这意味着通配符主机名上不能同时存在其他类型记录。

3. 在安全风险方面, 开放式的泛解析功能会造成攻击面的扩大现象, 针对生产环境的状况, 推荐搭配使用WAF工具或者配置限流策略。

4. 这件事和我们想要做一个精确的记录是互相冲突的, 这个情况确实存在。所以在添加泛解析之前, 我们需要去确认一下, 系统里是不是已经有大量的精确子域名记录已经存在了, 这样做的目的是为了避免出现非预期的解析覆盖情况, 也就是避免一些我们意料之外的覆盖行为发生。

5. 这是一件紧急的变更事项, 如果需要进行快速的生效处理, 就必须提前进行TTL调低这个操作, 然后在完成了对记录值的修改之后, 才能达成目的。

五、验证方法

配置完成后泛解析域名大城群众说事,使用以下命令确认生效:

dig *.example.com A

对服务器进行查询, 目标是a.example.com这个地址。

通过在线DNS检测工具, 进行任意未单独配置的主机名的查询操作, 以确认返回的是预期IP。

泛解析域名它是_dns_管理机制当中一个很高效也很灵活的工具, 只有我们正确地理解了它的优先级规则还有类型限制, 这才能够在有多个子域名的这种情况下面, 显著地把运维工作给降低下来的成本。