

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用规则控制将哪些查询转发到您的网络
<a name="resolver-overview-forward-vpc-to-network-using-rules"></a>

规则控制哪些 DNS 查询解析器终端节点转发给您网络上的 DNS 解析器，以及哪些查询 VPC 解析器自己应答。

您可以通过多种方法分类规则。一种方法是按照规则的创建者分类：
+ **自动定义规则** — VPC Resolver 会自动创建自动定义的规则，并将这些规则与您的规则相关联。 VPCs这些规则大多适用于 VPC AWS Resolver 回答查询的特定域名。有关更多信息，请参阅 [VPC 解析器为其创建自动定义的系统规则的域名](resolver-overview-forward-vpc-to-network-autodefined-rules.md)。
+ **自定义规则**-您可以创建自定义规则并将这些规则与关联 VPCs。目前，您可以创建两种类型的自定义规则，即**条件转发规则**（也称为转发规则）和**委托规则**。**转发**规则会让 VPC 解析器将您的 DNS 查询转发 VPCs 到您网络上的 DNS 解析器的 IP 地址。

  如果您为与自动定义规则相同的域创建转发规则，VPC Resolver 会根据转发规则中的设置将对该域名的查询转发给您网络上的 DNS 解析器。

  **委托规则**将 DNS 查询连同委托规则中与 NS 记录匹配的委托记录一起转发到网络上的解析程序。

另一种方法是按照规则执行的操作来分类：
+ **条件转发规则** — 希望将对指定域名的 DNS 查询转发到您网络上的 DNS 解析程序时，可创建条件转发规则（也称为转发规则）。
+ **系统规则** — 系统规则会让 VPC Resolver 有选择地覆盖转发规则中定义的行为。创建系统规则时，VPC 解析器会解析指定子域名的 DNS 查询，否则这些查询将由您网络上的 DNS 解析器解析。

  默认情况下，转发规则会应用到一个域名及其所有子域。如果您希望将对某个域的查询转发到您网络上的解析程序，但不想为某些子域转发查询，则为这些子域创建系统规则。例如，如果您为 example.com 创建一个转发规则，但不希望转发针对 acme.example.com 的查询，则可以创建系统规则，为域名指定 acme.example.com。
+ **递归规则** **— VPC 解析器会自动创建名为 Internet Resolver 的递归规则。**此规则会让 Route 53 VPC Resolver 充当您未为其创建自定义规则以及 VPC 解析器未为其创建自动定义规则的任何域名的递归解析器。有关如何覆盖此行为的更多信息，请参阅本主题下文中的“将所有查询转发到您的网络”。

您可以创建适用于特定域名（您的或大多数 AWS 域名）、公共 AWS 域名或所有域名的自定义规则。

**将对特定域名的查询转发到您的网络**  
要将对特定域名（例如 example.com）的查询转发到您的网络，您可以创建规则并指定该域名。对于**转发**规则，您还必须指定网络上要将查询转发到其中的 DNS 解析程序的 IP 地址；或者，对于**委托**规则，创建要将授权委托给本地解析程序的委托记录。然后，您可以将每条规则与您要将 DNS 查询转发到您的网络的规则相关联。 VPCs 例如，您可以为 example.com、example.org 和 example.net 创建单独的规则。然后，您可以将规则与 AWS 区域 VPCs 中的任意组合相关联。

**将对 amazonaws.com 的查询转发到您的网络**  
域名 amazonaws.com 是 EC2 实例和 S3 存储桶等 AWS 资源的公共域名。如果要将对 amazonaws.com 的查询转发到您的网络，请创建规则，为域名指定 amazonaws.com，然后根据要使用的方法为规则类型指定**转发**或**委托**。  
即使您为 amazonaws.com 创建了转发规则，VPC 解析器也不会自动转发某些 amazonaws.com 子域的 DNS 查询。有关更多信息，请参阅 [VPC 解析器为其创建自动定义的系统规则的域名](resolver-overview-forward-vpc-to-network-autodefined-rules.md)。有关如何覆盖此行为的更多信息，请参阅下文中的“将所有查询转发到您的网络”。

**将所有查询转发到您的网络**  
  
如果要将所有查询转发到您的网络，请创建一个规则，指定 “。” （dot）表示域名，并将该规则与您要将所有 DNS 查询转发到您的网络的规则相关联。 VPCs VPC 解析器仍无法将所有 DNS 查询转发到您的网络，因为在网络之外使用 DNS 解析器 AWS 会破坏某些功能。例如，某些内部 AWS 域名的内部 IP 地址范围无法从外部访问 AWS。有关当您创建“.”规则时对其查询不会转发到您网络的域名列表，请参阅[VPC 解析器为其创建自动定义的系统规则的域名](resolver-overview-forward-vpc-to-network-autodefined-rules.md)。  
但是，可以禁用反向 DNS 的自动定义系统规则，从而允许“.”规则将所有反向 DNS 查询转发到您的网络。有关如何关闭自动定义规则的更多信息，请参阅 [VPC 解析器中反向 DNS 查询的转发规则](resolver-rules-managing.md#resolver-automatic-forwarding-rules-reverse-dns)。  
如果您要尝试将对所有域名的 DNS 查询转发到网络，包括默认情况下会从转发中排除的域名，您可以创建“.”规则并执行以下操作之一：  
+ 将 VPC 的 `enableDnsHostnames` 标记设置为 `false`
+ 为[VPC 解析器为其创建自动定义的系统规则的域名](resolver-overview-forward-vpc-to-network-autodefined-rules.md)中列出的域名创建规则
如果您将所有域名转发到您的网络，包括 VPC Resolver 在创建 “.” 规则时排除的域名，则某些功能可能会停止运行。