You need to enable JavaScript to run this app.
导航

实现递归解析

最近更新时间2024.02.29 20:10:24

首次发布时间2023.02.08 13:10:14

本文档介绍如何火山引擎私网解析(PrivateZone)中实现递归解析。

功能概述

如果您的主域名的不同子域名需要分别被映射到 VPC 内的资源和互联网上的资源,您就需要开启递归解析功能。开启递归解析后,对于不在解析记录中的子域名,私网解析 PrivateZone 会向互联网上的 Local DNS 服务器发送 DNS 查询请求。

注意

如果 DNS 查询请求被发送到互联网,DNS 解析的延时会增加。因此,我们建议您尽可能将记录值设置为 火山引擎私有网络(VPC) 内的 IP 地址。

操作场景

假设您为指定 VPC 关联了域名 example.com。VPC 内的资源需要访问指定子域名 api.example.com。该子域名指向 API 服务器的互联网 IP 地址。此时,您可以为域名 example.com 开启递归解析功能。

递归解析功能开启之后,VPC 内的资源访问 api.example.com 时,私网解析 PrivateZone 会通过互联网上的 Local DNS 服务器进行查询并返回解析结果。解析结果为 Local DNS 服务器返回的解析记录。

子域名 ecs.example.com 在域名的解析记录中。VPC 内的资源发送对 ecs.example.com 子域名的解析请求时,私网解析 PrivateZone 会返回记录值 10.0.1.128

alt

操作步骤

步骤一:添加域名

添加域名 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 响应是 NXDOMAIN,则说明递归解析已经被关闭。

    $ nslookup api.example.com
    
    Server:         100.96.0.2
    Address:        100.96.0.2#53
    	
    ** server can't find api.example.com: NXDOMAIN