Skip to content

权威 DNS 配置 ​

简介 ​

矩尺平台的全局负载均衡(GSLB)通过 DNS 权威解析实现多数据中心间的流量调度。当客户端发起 DNS 查询时,矩尺根据静态就近性(运营商/地理位置)和健康检查结果,返回最优的服务 IP,引导用户访问最近或最健康的站点。

典型场景:

  • 多数据中心(同城/异地)的流量分配和灾备
  • 按运营商智能解析(电信用户返回电信 IP,联通用户返回联通 IP)
  • 与 SLB 虚拟服务联动,DNS 返回虚拟服务 VIP,再由 SLB 做本地负载均衡

核心组件关系 ​

客户端 DNS 查询
      │
      ▼
DNS 虚拟服务(监听 53 端口,绑定转发引擎/流量组)
      │
      ├── DNS 策略(定义权威域名、TTL)
      │
      └── DNS 记录(A / AAAA / CNAME / NS / MX / TXT / PTR / SRV)
            │
            ├── 值类型:静态 IP → 固定地址
            │
            ├── 值类型:虚拟 IP 池 → 节点(站点业务入口 IP)
            │     └── 负载均衡算法:轮询 / 静态就近性
            │           └── 健康检查策略
            │
            └── 值类型:SLB 虚拟服务(直接关联 SLB 虚拟服务的监听 IP)
                  └── 自动感知虚拟服务的健康状态和 IP 变化

操作步骤概览 ​

第一步:配置静态就近性       →  定义"哪里的用户就近访问哪个站点"(可选但推荐)
第二步:创建数据中心         →  规划本地数据中心,待 DNS 虚拟服务创建后关联
第三步:创建健康检查策略     →  对 DNS 记录的后端节点做健康探测
第四步:创建虚拟 IP 池       →  定义一组后端服务 IP(可选轮询或静态就近性算法)
第五步:创建 DNS 记录        →  定义域名到 IP 的映射(A/AAAA/CNAME 等)
第六步:创建 DNS 策略        →  设置权威域名与 TTL
第七步:创建 DNS 虚拟服务    →  按策略绑定记录,配置监听地址和端口
第八步:保存数据中心并验证   →  关联 DNS 虚拟服务,保存后用 dig 验证

第一步:配置静态就近性(可选但推荐) ​

静态就近性决定了"哪个地区的用户应该被引导到哪个站点"。未选择静态就近性时,按所选虚拟 IP 池的负载均衡算法返回地址。

入口:【全局负载管理 → 静态就近性】,点击"新增":

静态就近性新增

支持三种类型:

类型内容粒度适用场景
地理位置库全中国各省份省级按用户地理位置就近调度
ISP 库电信、联通、移动、铁通、教育网、长城等运营商级按运营商智能解析(避免跨网访问)
自定义库用户自定义 IPv4/IPv6 地址或地址段IP/网段级精细化控制,如将特定 IP 段指向特定站点

举例: 北京数据中心(IP 1.1.1.0/24)服务于华北用户,上海数据中心(IP 2.2.2.0/24)服务于华东用户:

  1. 创建"地理位置库"类型的静态就近性,选择"北京"→ 关联北京数据中心的虚拟 IP 池
  2. 创建"地理位置库"类型的静态就近性,选择"上海"→ 关联上海数据中心的虚拟 IP 池

这样北京用户查询 DNS 时返回 1.1.1.x,上海用户返回 2.2.2.x。

免费版不支持静态就近性功能。静态就近性类型创建后不可修改,如需变更类型请重新创建。

第二步:创建数据中心 ​

本地数据中心用于组织并发布 DNS 虚拟服务。入口:【全局负载管理 → 数据中心】。此时先规划名称;第七步创建 DNS 虚拟服务后,再关联并保存本地数据中心。

本地数据中心修改

配置项说明
名称如"北京数据中心"
DNS 虚拟服务关联一个或多个 DNS 虚拟服务(第七步创建)

免费版不支持数据中心功能。

第三步:创建健康检查策略 ​

虚拟 IP 池中的后端节点同样需要健康检查。入口:【负载流量管理 → 健康检查】,与 SLB 的创建方式完全一致。参见 健康检查配置指南。

对于 DNS 服务的后端,常用健康检查协议:ICMP(Ping)、TCP(端口探测)、HTTP/HTTPS(应用层检查)。

第四步:创建虚拟 IP 池 ​

虚拟 IP 池定义了一组后端服务 IP 以及它们之间的负载均衡方式。入口:【全局负载管理 → 虚拟 IP 池】,点击"新增":

虚拟 IP 池配置入口地址、健康检查和备用 IP

配置项说明
名称如"北京-Web-服务池"
负载均衡算法轮询:返回健康节点的解析记录,记录顺序由 DNS 服务调度;静态就近性:根据用户 IP 匹配就近性规则返回最合适的 IP
静态就近性类型当算法为静态就近性时,选择地理位置库 / ISP 库 / 自定义地址库
备用 IP所有节点都不健康时返回的保底 IP
健康检查策略可多选(AND/OR 协作)
目标节点配置后端服务的静态 IP 地址

轮询与静态就近性:

算法行为适用
轮询DNS 返回健康节点地址,客户端和递归缓存也会影响实际访问去向节点地理位置无关紧要
静态就近性根据用户来源 IP 匹配就近性规则,返回与之对应站点的 IP多数据中心就近调度

免费版不支持虚拟 IP 池功能。

第五步:创建 DNS 记录 ​

入口:【全局负载管理 → DNS 记录】,点击"新增":

DNS A 记录使用静态 IP

支持 8 种记录类型:A、AAAA、CNAME、NS、MX、TXT、PTR、SRV。

A / AAAA 记录的三种值类型 ​

A 记录返回 IPv4 地址,AAAA 记录返回 IPv6 地址。两者都支持静态 IP、虚拟 IP 池和虚拟服务三种值类型,按业务选择其中一种。

静态 IP:直接填写后端或业务入口地址,适合内部主机域名。静态记录不自动感知业务健康;需要健康调度时使用虚拟 IP 池或虚拟服务引用。

虚拟 IP 池

将域名指向一个虚拟 IP 池,DNS 按池的算法和健康状态生成应答;轮询池可能返回多个健康节点地址,不能假定每次只返回一个 IP。适合 GSLB 独立管理后端 IP 的场景。

www.example.com  A  →  虚拟 IP 池 "北京-Web-服务池"
                          ├── 1.1.1.10(健康)
                          └── 1.1.1.11(健康)

SLB 虚拟服务

在记录中选择“虚拟服务”值类型,直接关联一个 SLB 虚拟服务的监听 IP。当该虚拟服务的监听 IP 发生变化或健康状态改变时,DNS 自动更新解析结果,无需手动修改 DNS 记录;已有客户端或递归缓存仍会受原 TTL 影响。

www.example.com  A  →  SLB 虚拟服务 "web-http-vs"
                          → 该虚拟服务监听 10.1.9.100:80
                          → DNS 返回 10.1.9.100

DNS A 记录选择 SLB 虚拟服务

这是 GSLB 与 SLB 联动的关键: DNS 负责将用户引导到最优站点,站点内的 SLB 虚拟服务再负责将流量分发到具体的后端服务器节点。两层负载均衡分工协作。

免费版不支持 DNS 记录功能。

第六步:创建 DNS 策略 ​

DNS 策略设置权威域名和 TTL;DNS 记录在 DNS 虚拟服务的“DNS策略和DNS记录”表格中按策略关联,不在 DNS 策略表单中选择。

入口:【全局负载管理 → DNS 策略】,点击"新增":

新增DNS策略

配置项说明
名称如"example-权威策略"
权威域名该策略负责解析的域名,如 example.com
TTL区域默认缓存时间(秒);单条 DNS 记录也有自己的 TTL。可按业务设置如 60–300 秒,TTL 越短通常越快反映变更,但 DNS 查询量越大

例如策略的权威域名填 example.com,第五步记录的主机记录填 www,最终查询名称为 www.example.com。内部别名指向完整域名时,可用末尾的点避免再次拼接权威域名。

免费版不支持 DNS 策略功能。

第七步:创建 DNS 虚拟服务 ​

入口:【全局负载管理 → DNS 虚拟服务】,点击"新增":

DNS 虚拟服务按策略关联 DNS 记录

配置项说明
名称如"dns-vs-beijing"
对象类型转发引擎(单机)或流量组(HA)
转发引擎/流量组选择处理 DNS 请求的引擎
监听地址DNS 服务监听 IP,按内部或外部业务规划选择地址
端口DNS 标准端口 53
DNS策略和DNS记录新增一行,选择权威域名对应的 DNS 策略,再在同一行选择第五步创建的记录;可配置多行
DNS 根域、DNS 转发域需要递归或条件转发时关联对应配置,见递归 DNS 配置

创建后,到第二步的本地数据中心配置中关联此 DNS 虚拟服务并保存,随后验证实际 DNS 应答。仅创建记录、策略和 DNS 虚拟服务不构成发布完成的证明。

免费版不支持 DNS 虚拟服务功能。

第八步:保存数据中心并验证 ​

保存关联 DNS 虚拟服务的本地数据中心,使 GSLB DNS 配置发布。若同时新增或修改 SLB 虚拟服务和服务器池,还需单独执行顶部“变更执行”,确认 SLB 变更完成。两条发布路径分别验证。

bash
#  验证权威 DNS 解析(非 53 监听需另加 -p <DNS端口>)
dig @<DNS虚拟服务IP> www.example.com

#  指定查询类型
dig @<DNS虚拟服务IP> www.example.com A
dig @<DNS虚拟服务IP> www.example.com AAAA
dig @<DNS虚拟服务IP> www.example.com MX

如果 dig 返回了预期的 IP 地址和 TTL 值,表示权威 DNS 配置成功。进入 DNS 虚拟服务详情 → 拓扑标签,可查看从客户端到 DNS 记录的完整链路:

DNS虚拟服务拓扑

内部域名作为 SLB 后端节点 ​

内部 DNS 和业务入口 DNS 可以由同一套 GSLB 管理。下面用 services.example.test 演示;截图中的地址和端口属于教学环境,实际配置须使用自己的网络规划。

1. 建立内部主机记录 ​

创建权威域名为 services.example.test 的 DNS 策略,设置 A 记录的主机记录为 backend-a1 和 backend-a2,值类型选“静态IP”,分别填写两台后端地址。最终域名为 backend-a1.services.example.test 和 backend-a2.services.example.test。

如需别名,可创建主机记录 backend-alias、类型 CNAME,记录值填写 backend-a1.services.example.test.。末尾的点表示完整域名;别名目标需要已有可解析的 A/AAAA 记录。

CNAME 记录指向内部主机完整域名

在 DNS 虚拟服务的“DNS策略和DNS记录”表格中,将这些记录关联到该策略,再关联本地数据中心并保存。先向每个 DNS 监听地址查询两个后端域名,确认答案正确。

2. 配置 SLB 使用的解析服务器 ​

进入【负载流量管理 → 域名解析 → DNS服务器】,点击“配置DNS”,将首选和备用 DNS 指向能够解析上述域名的 DNS 监听地址与端口。已有企业 DNS 也可作为解析服务器,不要求必须使用 GSLB。

SLB 域名解析使用 GSLB 的两个 DNS 监听地址

这是 SLB 域名节点使用的全局解析设置,修改前应检查已有域名节点池所依赖的 DNS。首选和备用服务器应能解析业务所需的全部域名,并能从实际使用的管理节点、转发引擎及健康检查节点访问;不要把应用端口填成 DNS 端口。

3. 在服务器池中填写域名节点 ​

进入【负载流量管理 → 服务器池】,创建服务器池,在两行“目标节点”的监听地址中分别填写上述完整域名,并填写各自应用端口。选择能到达后端的健康检查节点,配置与应用匹配的检查策略。

服务器池使用两个内部域名及各自应用端口

把服务器池绑定到 SLB 虚拟服务,保存并执行 SLB 的“变更执行”。后端域名用于引擎查找应用地址,业务域名用于客户端访问入口,两者不要混用。

4. 核对缓存和实际业务 ​

在【域名解析 → DNS缓存】按完整后端域名查询,检查 IP 和 TTL;不要仅按权威域的后缀判断缓存是否为空。必要时失效对应缓存,随后重新访问业务再检查。

按完整后端域名核对 DNS 缓存

从业务客户端多次请求虚拟服务,核对 HTTP 状态、响应内容和实际后端标识。DNS 答案正确只证明解析环节成功;还需确认应用端口、健康检查、路由及回程可用。

业务入口失效时使用备用 IP ​

在虚拟 IP 池中,将各站点的 SLB 业务入口作为目标节点,配置能判断应用是否可用的健康检查,并填写“备用IP”。A/AAAA 记录选“虚拟IP池”并引用此池。

全部目标节点不可用时,DNS 返回备用地址。备用地址必须已运行维护页面或备用应用,并开放客户端实际访问的端口;DNS 只返回 IP,不会替客户端更换 URL、协议或端口。使用 HTTPS 时,还需提供与原业务域名匹配的证书。

验证时分别检查节点健康状态、DNS 实际答案和访问备用地址的业务响应;恢复后再检查正常入口的应答与业务。递归服务器及客户端可能保留旧答案,切换时间还受 TTL 和各级缓存影响。

GSLB + SLB 联动的典型架构 ​

用户 DNS 查询 "www.example.com"
      │
      ▼
GSLB DNS 虚拟服务(53 端口)
      │ 静态就近性判断:北京用户 → 返回北京站点 IP
      ▼
DNS A 记录 → SLB 虚拟服务 "bj-web-vs" 的 VIP 10.1.9.100
      │
      ▼
用户访问 https://www.example.com(连接 10.1.9.100)
      │
      ▼
SLB 虚拟服务 "bj-web-vs"(HTTPS,443 端口)
      │ 七层分发规则
      ▼
后端服务器池(北京节点 10.1.9.11:8000, 10.1.9.12:8000)

GSLB 负责"跨站点调度"(把用户引导到最近/最健康的站点),SLB 负责"站点内负载均衡"(把请求分发到具体的后端服务器)。两者分工明确、协同工作。


GSLB 各组件的完整配置参数参见用户手册:静态就近性、虚拟IP池、DNS记录、DNS策略、DNS虚拟服务。