如何通过 Route 53 Resolver 使用和覆盖反向 DNS 规则?

上次更新时间:2020 年 7 月 2 日

如何通过 Amazon Route 53 Resolver 使用和覆盖自动定义的反向 DNS 规则?

解决方法

要使用 Resolver 规则:

启用“DNSHostname”后,Resolver 会自动创建自动定义的系统规则,这些系统规则定义了如何解析对所选域的查询。如要覆盖自动定义的规则,请为该域名创建一个转发规则(Resolver 规则)。使用 Resolver 对反向 DNS 名称的解析,取决于自动定义的规则、Resolver 规则以及私有托管区配置。

Amazon 提供的 DNS 解析程序会按以下优先顺序评估“最具体的域名”规则:

  • Resolver 规则 – 为 Resolver 将会转发到目标 IP 地址的域名手动配置的规则。
  • 私有托管区规则 – Resolver 将为您关联到某个 VPC 的每个私有托管区创建一条规则,然后会将该规则关联到该 VPC 的 DNS 解析程序。如果您将该私有托管区关联到多个 VPC,则 Resolver 会将该规则关联到每个 VPC 的 DNS 解析程序。
  • 自动定义的反向 DNS 规则 – 当您将所关联 VPC 的“enableDnsHostnames”设置为“true”时,Resolver 将为反向 DNS 查询和 localhost 相关域创建自动定义的规则。

这些规则适用于 VPC 的 CIDR 块范围以及所有连接的已启用 DNS 支持的 VPC。Resolver 将会根据该 CIDR 块范围创建尽可能通用的规则。

有关如何覆盖自动定义的规则的示例

此例中使用的资源如下:

  • CIDR 为 10.237.52.0/22 的 DNS 查询源 VPC1
  • DNSHostname 属性 = 已启用
  • DNSSupport 属性 = 已启用
  • CIDR 为 10.104.2.0/24 的 已连接的 VPC2(通过中转网关或启用 DNS 支持的 VPC 对等连接完成连接)
  • VPC DNS 解析程序 = Amazon 提供的 DNS 解析程序
  • Route 53 Resolver 出站终端节点,连接到 192.168.1.4/32(位于另一个网络种的 DNS 服务器)

然后 Resolver 会创建以下自动定义的系统规则:

私有 IP 地址规则 VPC1 CIDR 规则 VPC2 CIDR(对等 VPC)规则
10.in-addr.arpa. 52.237.10.in-addr.arpa. 2.104.10.in-addr.arpa.
16.172.in-addr.arpa. 至 31.172.in-addr.arpa 52.237.10.in-addr.arpa.  
168.192.in-addr.arpa. 52.237.10.in-addr.arpa.  
254.169.254.169.in-addr.arpa. 52.237.10.in-addr.arpa.  

转发查询的环境的 DNS 解析要求为:

优先级 反向 DNS 查询的 CIDR 目标 DNS 服务器
1 10.237.53.0/24 192.168.1.4/32(另一个网络)
2 10.237.52.0/22(10.237.53.0/24 除外) Amazon 提供的 DNS 解析程序
3 10.104.2.0/24 私有托管区
4 10.0.0.0/8(以上所有除外) 192.168.1.4/32(另一个网络)

以下步骤将会实现前述配置:
注意:执行 DNS 查询的源为 VPC1,所有请求都将发送至 Amazon 提供的 DNS IP 地址。

  1. 由于 IP 地址范围 10.237.53.0/24 是 VPC1 CIDR 10.237.52.0/22 的一部分,因此存在适用于此 IP 地址范围的自动定义的系统规则。为域 53.237.10.in-addr.arpa. 创建一条 Resolver 规则,以便为 10.237.53.0/24 范围内的 IP 地址覆盖自动定义的系统规则。将目标 IP 地址设置为 192.168.1.4/32。
  2. 对于 10.237.52.0/22 范围内除 10.237.53.0/24 外的 IP 地址,自动定义的系统规则可用。Amazon 提供的 DNS 解析程序将会解析这些 DNS 查询。
  3. 对于 10.104.2.0/24 范围内的 IP 地址,已经有适用于 VPC2 CIDR 的自动定义的最具体规则可用。但由于私有托管区规则的优先级高于自动定义的规则额,必须创建一个域名为 2.104.10.in-addr.arpa 的私有托管区。
  4. 为域名 10.in-addr.arpa 创建一条 Resolver 规则。此规则会将对 10.0.0.0/8 范围内 IP 地址(10.237.52.0/22 和 10.104.2.0/24 范围内的 IP 地址除外)的反向 DNS 查询发送到另一网络中 IP 地址为 192.168.1.4/32 的 DNS 服务器。此规则还会覆盖自动定义的系统规则。

现在,下面的规则已经满足要求并且将由 Resolver 根据优先级别考虑:

  • 自定义 Resolver 规则:53.237.10.in-addr.arpa. 和 10.in-addr.arpa.
  • 为私有托管区创建的规则:2.104.10.in-addr.arpa.

对 10.0.0.0/8 范围内 IP 地址的反向 DNS 查询将根据 Resolver 规则优先级进行解析。私有托管区规则和基于最具体域名规则的自动定义的规则如下:

优先级 反向 DNS 查询的 IP 地址范围 目标 DNS 服务器
1 10.237.53.0/24 192.169.1.4/32,使用“最具体的域名解析规则”
2 10.237.52.0/22(10.27.53.0/24 除外) Amazon 提供的 DNS 解析程序,使用默认规则(“最具体的系统规则”)
3 10.104.2.0/24 Amazon 提供的 DNS 解析程序,使用为私有托管区创建的默认规则
4 10.0.0.0/8(以上所有除外) 192.168.1.4/32,使用 Resolver 规则(没有其他更具体的规则可用。域名为 10.in-addr.arpa. 的 Resolver 规则的优先级高于相同域名的自动定义规则)。

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?