我无法使用 Amazon Route 53 中的入站或出站端点解析 DNS 记录。
解决方法
排除入站端点故障
完成以下步骤,确保网络上的 DNS 解析程序可以使用入站端点将 DNS 查询转发给 Route 53 Resolver:
-
如果您的本地 DNS 服务器必须将 DNS 查询转发到域的入站端点,则创建条件转发规则。条件转发规则必须在您的本地 DNS 服务器上创建。此配置适用于私有托管区和公有域。
-
确认您已通过 AWS Direct Connect 连接或 VPN 连接到入站解析程序端点 IP 地址。此步骤验证您是否可以从本地网络访问入站解析程序端点 IP 地址。使用以下 telnet 命令测试端口 53 上的入站端点解析程序 IP 地址之间的连接:telnet <inbound endpoint resolver IP address> 53。
-
检查与入站解析程序端点关联的安全组。安全组必须允许 TCP 和 UDP 端口 53 上来自本地 DNS 服务器 IP 地址的流量。
-
确认创建入站端点的子网中使用的自定义网络访问控制列表(网络 ACL)允许以下内容:
-
端口 53 上来自本地 DNS 服务器的入站 UPD 和 TCP 流量。
-
至目标端口范围 1024-65535 上的本地 DNS 服务器的出站 UDP 和 TCP 流量。
-
确认与创建入站端点解析程序的子网关联的路由表包括至本地网络的路由。您可以通过 Direct Connect 连接或 VPN 配置路由。此路由允许入站端点解析程序返回 DNS 查询响应。
-
要验证域解析,请从本地 DNS 服务器或本地主机完成域名查找。
-
对于 Windows:nslookup <private hosted zone domain name>
-
对于 Linux 或 macOS:dig <private hosted zone domain name>
-
如果之前的命令无法返回记录,则可以绕过本地 DNS 服务器。使用以下命令将 DNS 查询直接发送到入站解析程序端点 IP 地址。
-
对于 Windows:nslookup <private hosted zone domain name> @ <inbound endpoint IP address>
-
对于 Linux 或 macOS:dig <private hosted zone domain name> @ <inbound endpoint IP address>
-
确认您的本地 DNS 服务器仅发送递归查询。Route 53 入站解析程序不支持迭代查询。
-
如果您在私有托管区中解析,请确认您的入站解析程序端点和私有托管区与正确的 VPC 相关联。
排除出站端点故障
完成以下步骤,确保 Route 53 Resolver 使用出站端点有条件地将查询转发给网络上的解析程序:
-
确认您使用的是 Amazon 提供的 DNS。VPC 中实例上的自定义 DNS 服务器必须将私有 DNS 查询路由到 VPC 中 Amazon 提供的 DNS 服务器的 IP 地址。Amazon 提供的 DNS 服务器 IP 地址是位于 VPC 网络范围起始地址 + 2 位置的 IP 地址。
-
确认与出站解析程序端点关联的安全组的输出规则。输出规则必须允许至 本地 DNS 服务器的 IP 地址的 UDP 和 TCP 端口 53 流量。
-
确认与创建出站端点接口的子网相对应的网络 ACL 的自定义规则允许以下内容:
-
端口 53 上至本地 DNS 服务器的出站 UDP 和 TCP 流量。
-
临时端口范围 1024-65535 上来自本地 DNS 服务器的入站 UDP 和 TCP 流量。
-
确认与出站解析程序端点的子网关联的路由表包含至本地 DNS 服务器的路由。可以通过 Direct Connect 连接或 VPN 配置路由。
-
确定本地 DNS 服务器是否受防火墙保护。如果服务器受防火墙保护,请确认防火墙允许来自出站解析程序端点 IP 地址的流量。
-
请注意,将相同域名的流量路由到网络的 Resolver 规则优先于私有托管区。
-
请注意,Resolver 使用包含最具体域名的规则路由出站 DNS 查询。有关更多信息,请参阅 Resolver 如何确定查询中的域名是否匹配任何规则。
-
如果您使用的是共享规则,请确认该共享规则与您的 VPC 相关联。
-
使用 VPC 流日志捕获解析程序所用的网络接口上的流信息。按解析程序的名称进行筛选,查看解析程序的弹性网络接口的日志。