DNS(route53) 主机名查找的 UDP 端口是什么?

What will be the UDP port for DNS(route53) hostname lookup?

我正在使用网络 ACL 控制进出子网的流量。 我在 EC2 redhat 实例和其他一些实例中有 java 服务 运行 运行 外部的服务。 我正在使用 route53 DNS 在 java 服务和其他服务之间进行通信 运行 外部服务。

I am getting the error hostname is not able to resolve in java service if 
I allow traffic to the protocol DNS(UDP) 53.
  Inbound DNS(UDP) 53
  Outbound DNS(UDP) 53

It's working fine if I allow all traffic to UDP in ACL.
  Inbound All UDP
  Outbound All UDP

要解决上述错误,必须在网络 ACL 的入站和出站中配置正确的协议和端口是什么?

您会发现这也有效:

Outbound UDP 53
Inbound UDP Any

网络 ACL 是无状态的,因此您问题的答案实际上与 Route 53 无关,而是取决于您的 Java 解析器使用的源端口。大概是 ephemeral port。您需要确定该端口或端口范围并允许其入站。

您的配置不起作用,因为它假定您使用 53 作为 source 端口发送请求。与安全组不同,网络 ACL 不会自动允许响应流量匹配允许的请求。您的配置允许请求发出,但不允许响应返回。如果您尝试允许,例如 HTTPS,您会发现同样的问题。 443 输入和输出也不是正确的配置——它是 443 输出和短暂输入范围。