2017-04-26 96 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