我的 Amazon Route 53 Resolver 规则在 Amazon Virtual Private Cloud (Amazon VPC) 中导致了 DNS 解析问题。
解决方法
重新关联您的 Resolver 规则
如果您取消 Resolver 规则与 VPC 的关联,Resolver 将不再将 DNS 查询转发到 DNS 解析器。要解决此问题,请将该规则与 VPC 重新关联。要对共享规则问题进行故障排除,请参阅与其他 AWS 账户共享 Resolver 规则并使用共享规则。
**注意:**您只能将 Resolver 规则与您账户中的 VPC 相关联。
对 DNS 解析问题进行故障排除
执行以下操作:
对 Resolver 规则进行故障排除
执行以下操作:
- 确认 Route 53 Resolver 在评估规则时与指定的规则相匹配。有关详细信息,请参阅创建或编辑规则时指定的值。
- 检查您的 VPC 上是否存在自动定义的反向 DNS 规则,并覆盖这些规则。
- 如果您在 VPC 上激活了 DNS 解析和 DNS 主机名,请确认关联的私有托管区包含您的私有托管区。
- 检查您是否针对与 VPC 关联的同一个域创建了多条规则。当应用多条规则时,该域可能无法运行。
**注意:**如果 Resolver 转发器规则与私有托管区规则存在冲突,则会优先使用 Resolver 规则。
对 DNS 转发规则进行故障排除
当您使用 DNS 转发规则解析您托管在其他账户的 DNS 服务器上的内部域时,可能会收到“connection refused”错误。即使安全组和网络访问控制列表(网络 ACL)配置显示正确,也可能会出现此错误。
要解决此问题,请检查出站 Resolver 端点所在账户与托管 DNS 服务器的账户之间的路由配置和流量流。
对于出站端点,请执行以下操作:
- 确认 Resolver 规则具有本地 DNS 服务器的正确 IP 地址。
- 确保出站端点的安全组允许出站 TCP 和 UDP 流量流向 DNS 服务器的 IP 地址和端口。
- 验证网络 ACL 是否允许 TCP 和 UDP 流量流向 DNS 服务器的 IP 地址或端口以及临时端口 (1024–65535)。
- 检查出站端点的子网路由表中是否包含通过 VPN 或 AWS Direct Connect 连接指向本地服务器 IP 地址的路由。
有关详细信息,请参阅管理出站端点。
要测试与出站端点位于同一子网中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例的连接,请执行以下操作:
- 直接对本地 DNS 解析器的 IP 地址运行 dig 或 nslookup 命令。
- 向允许互联网控制消息协议 (ICMP) 的本地主机发送 ping 以验证连接。
确保源客户端将查询发送至 AmazonProvidedDNS,而不是直接发送至出站端点。然后,AmazonProvidedDNS 会根据 Resolver 规则配置,通过出站端点将查询转发到目标 IP 地址。有关详细信息,请参阅公有 DNS 查询日志记录。
在对 DNS 响应进行故障排除时,请使用 dig 或 nslookup 直接向本地 DNS 服务器的 IP 地址执行查询。检查 QUESTION SECTION,以验证名称、类别和记录类型是否正确。此外,检查是否存在 NXDOMAIN 响应代码(表示不存在相关记录),或 SERVFAIL 响应代码(表示存在超时或路径问题)。
检查您的 Route 53 Resolver 配置文件是否覆盖了该 VPC
当您将 VPC 与包含默认 "." 规则的解析器配置文件关联时,配置文件的规则将优先于 VPC 的默认递归规则。但是,VPC 中 Resolver 规则的关联状态不会显示为“已覆盖”。有关详细信息,请参阅 Route 53 Resolver 端点如何将来自 VPC 的 DNS 查询转发到您的网络。
解决 TLD 域(例如 .local)的 SERVFAIL 错误
Route 53 将某些顶级域 (TLD)(例如 .local)作为本地链接域进行处理。如果您尝试在 Ubuntu 等分发系统上解析以 .local 结尾的域,则可能会收到 SERVFAIL 错误。要解决此问题,请使用新的动态主机配置协议 (DHCP) 选项集重启您的 VPC 中的实例。
查看查询日志和 VPC 流日志
查看您的 DNS 查询,并检查 Route 53 Resolver 查询日志中是否存在错误。此外,请查看 VPC 流日志并捕获数据包,以识别被阻止或丢弃的网络流量。
相关信息
如何配置 Route 53 Resolver 出站端点,以便从我的 VPC 中的资源解析远程网络上托管的 DNS 记录?
如何配置 Route 53 Resolver 入站端点,以便从远程网络解析我的私有托管区中的 DNS 记录?