最佳实践

阅读本帮助前,需要您对「私有 DNS」服务有一定的了解。

确定您的需求

  • 您是否需要主机域名
  • 您是否有劫持域名的需求
  • 您是否有出VPC方向的解析转发需求
  • 您是否有线路解析、权重解析的需求

域名劫持和转发器的关系

「托管域」支持两种策略:

  • default:如果解析失败,则返回失败;
  • fallthrough:如果解析失败,则继续递归处理,具体流程可能受到 「解析转发器管理」 的影响。

「解析转发器」支持三种策略:

  • forward only:只转发且本地不处理;
  • forward first:优先转发,失败时进行本地解析;
  • forward fail:本地解析失败,进行转发。

在「托管域」和「解析转发器」配置的 Zone 有重合时,它们的策略将相互影响,我们按照以下顺序进行处理:

  1. 检查是否配有 forward only 或者 forward first :
  • 是:转发请求;转发是否成功:
    • 是:给客户端返回解析结果
    • 否:检查是否 forward first
      • 否:返回错误
      • 是:进入第2步
  • 否:进入第2步
  1. 本地解析,是否成功:
  • 是:返回解析结果;
    • 否:检查forward fail:
      • 是:转发请求;不管结果怎么样都给客户端返回;
      • 否:检查是否 fallthrough:
        • 是:转发到公网进行递归;
        • 否:返回错误。

1. 主机域名

  1. 登录控制台,定位到「VPC」;
  2. 切换到「创建 VPC」选项卡,在创建时,勾选「启用」云服务器域名;

之后,您在这个 VPC 下创建的所有云主机都将生成一对域名,包含正解 A 记录和反解 PTR 记录,方便您使用「需要正反解认证」的中间件服务。

例如:

image-20191028155354115

在「VPC」中选定刚刚创建的 VPC,切换「VPC 详情」选项卡:

image-20191028155916567

2. 域名劫持

域名劫持是「创建托管域」选项「解析策略」的附加功能。

当您选择「解析策略」中的 fall through 时,本地递归失败的请求,将转发到公网进行递归。

64qfe

例如:当您配置了 163yun.com 的「托管域(fallthrough)」之后,您可以劫持任意子域名,比如:

  • c.163yun.com -> 127.0.0.1
  • 163yun.com -> 127.0.0.1

该功能可以使您对任意域名进行劫持。

3. 出VPC方向的解析转发

该功能可以为任意 Zone 设置上游服务器地址,我们会按照规则(查看「域名劫持和转发器的关系」)转发到您配置的服务器地址(公网地址,必须可达)。

通常在以下场景比较实用:

  • 您想直接将某个域名的请求转发到其 NS 服务器;这样可以减少解析链路,直达最终 NS 服务器;
  • 您更信任某些大 ISP,您可以转发您的所有域名到这些 ISP 的公共服务器地址;

例如,配置所有域名,都转发到电信 114 公共 DNS:

image-20191028172019332

4. 解析策略

线路的意思是您发送 DNS解析请求时,DNS 包的源地址集合。

我们提供了 VPC 粒度的来源判别(CIDR 来源辨别开发中),每个「资源记录集」都可以绑定一条线路,从不同的线路发起 DNS 请求,将返回不同的结果,例如:

您还可以配置权重,权重很方便您导流,例如:

image-20191028173005446

解析结果 1% 的概率是 1.1.1.1,99% 的概率是 2.2.2.2。

您还可以同时配置线路和权重,我们按照先线路后权重的方式进行处理,例如:

image-20191028173204895

权重实时计算,以上例子中,从 line-vpc-region3 请求 wc.netease.com 将只返回结果 4.4.4.4;

从 region3 请求 wc.netease.com 将按权重概率:1% 概率返回 3.3.3.3,99% 概率返回 4.4.4.4。