我正在使用网络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的入站和出站中配置正确的协议和端口是什么?
答案 0 :(得分:0)
您会发现这也有效:
Outbound UDP 53
Inbound UDP Any
网络ACL是无状态的,因此问题的答案实际上与Route 53无关,而是取决于Java解析器使用的源端口。大概是ephemeral port。您需要确定该端口或端口范围并允许其入站。
您的配置不起作用,因为它假设您使用53作为 source 端口发送请求。与安全组不同,网络ACL不会自动允许响应流量与允许的请求相匹配。您的配置允许请求发出,但不允许回传。如果尝试允许使用HTTPS,则会发现相同的问题。 443 in和out都不是正确的配置,它是443 out和临时范围。