You need to enable JavaScript to run this app.
导航
为域名开启递归解析
最近更新时间:2024.11.19 14:08:33首次发布时间:2023.02.08 13:10:14

本文档介绍如何在火山引擎私网解析(PrivateZone)中为一个域名开启递归解析。

什么是递归解析

如果 DNS 查询请求符合私网解析 PrivateZone 的递归解析代理的生效条件,私网解析 PrivateZone 会从公网递归 DNS 服务器获取 DNS 响应。参见 工作原理 了解 DNS 查询请求在什么情况下会符合递归解析代理的生效条件。

注意

  • 如果您需要配置的记录类型是 CNAME 且该记录指向的域名是公网域名,建议您为域名启用递归解析。否则,域名解析可能会失败。
  • 如果 DNS 查询请求被发送到互联网,DNS 解析的延时会增加、变更生效会变慢。因此,我们建议您尽可能将解析记录指向 VPC 内的 IP 地址。

示例场景

假设您为一个 VPC 关联了域名 example.com。您有以下业务需求:

  • 子域名 ecs.example.com 在域名的解析记录中。VPC 内的资源发送对 ecs.example.com 子域名的解析请求时,私网解析 PrivateZone 会返回记录值 10.0.1.128
  • VPC 内的资源需要访问指定子域名 api.example.comwww.example.com。这些子域名分别指向 API 服务器和网站的互联网 IP 地址。
  • 对于其他没有在解析记录中的子域名,私网解析 PrivateZone 会返回从公网递归 DNS 服务器获取的查询结果,而不是解析失败。

在这种情况下,您可以为域名 example.com 开启递归解析功能。递归解析功能开启之后,VPC 内的资源访问 api.example.com 时,私网解析 PrivateZone 会通过公网递归 DNS 服务器进行查询并返回解析结果。
Image

操作步骤

完成以下步骤为一个域名开启递归解析。

步骤一:添加域名

添加域名 example.com。您需要在添加域名时开启递归解析。参见 添加域名 了解如何添加一个域名。

步骤二:添加解析记录

为域名 example.com 添加一条解析记录:

  • 域名:您需要把主机记录(域名前缀)设置为 ecs。这样,域名就是 ecs.example.com
  • 记录类型:您需要把该参数设置为 A
  • 记录值:您需要把该参数设置为 ECS 的私网 IP 地址,即 10.0.1.128

参见 添加解析记录 了解如何添加一条解析记录。

步骤三:验证递归解析是否生效

  1. 远程连接到域名所关联的 VPC 中的 ECS 实例。使用 nslookup 命令验证递归解析是否对 api.example.com 生效。如果 DNS 响应是一个互联网 IP 地址,则说明递归解析生效。

    $ nslookup api.example.com
    
    Server:         100.96.0.2
    Address:        100.96.0.2#53
    
    Non-authoritative answer:
    Name:   api.example.com
    Address: xx.xxx.xxx.xx
    
  2. 参见 更新域名配置example.com递归解析 设置为 关闭

  3. 在 ECS 实例中,使用 nslookup 命令验证 api.example.com 是否还能被成功解析。如果 DNS 解析失败,则说明递归解析已经被关闭。

    $ nslookup api.example.com
    
    Server:         100.96.0.2
    Address:        100.96.0.2#53
       
    ** server can't find api.example.com: NXDOMAIN
    
  4. (可选)如果您需要指定公网递归 DNS 服务器出口 IP 地址的网络运营商和地理位置,您可以创建一条类型为 自定义线路 的转发规则。参见 通过转发规则自定义递归解析的出口运营商和地理位置