2017-04-26 97 views
0

最初使用默认iptables规则,EC2服务器A能够通过私有IP访问EC2服务器B.iptables - 公有IP与专用IP,可通过公共IP访问,但不能与私有IP访问

在服务器A中运行$ curl "http:<Server_B_private_IP>:80"成功。

现在在服务器B中,我将规则设置为仅允许服务器A(使用公共IP)并阻止其余通信。

在服务器A中运行$ curl "http:<Server_B_public_IP>:80"成功,但$ curl "http:<Server_B_private_IP>:80"失败。

这是正常的吗?为什么服务器B能够通过公共IP识别服务器A,但不能通过private_ip识别?

+2

你说你“设置规则只允许服务器A(使用公共IP)并阻止其余的流量”,那么为什么你问为什么它不能通过私有IP?这不是你配置的吗? –

+0

是的,但我仍然完全访问服务器A,这意味着它应该能够访问服务器B与私人或公共IP,对不对?但事实并非如此。 – Charan

+0

你能告诉我们你的IP表配置吗?如果服务器A转到服务器B的公共地址,则流量将来自服务器A的公共IP地址。如果服务器A转到相同VPC内的服务器B的私有IP地址,则服务器A将到达从它的私有IP地址。 –

回答

0

我认为你的规则的顺序是不好的。更改订单。将“允许”规则放在前面,并在最后放置限制规则。

+0

规则是为了。我了解到这一点很难。 – Charan