我有兩個實例(實例A和實例B)都是同一個安全組的一部分(比如說sg-1)。爲什麼我不能ping公共IP的aws實例,儘管我可以ping專用IP很好?
安全組具有以下入站規則集:
- 類型:所有流量
- 協議:所有
- 端口範圍:所有
- 來源:SG-1
我可以使用實例B的私有IP從實例A ping實例B,但是當我使用實例B的公共地址時,我沒有得到任何響應。
我在想什麼?
編輯:
如果我將上述安全配置中的源更改爲「Anywhere」,ping到公網IP工作。
我有兩個實例(實例A和實例B)都是同一個安全組的一部分(比如說sg-1)。爲什麼我不能ping公共IP的aws實例,儘管我可以ping專用IP很好?
安全組具有以下入站規則集:
我可以使用實例B的私有IP從實例A ping實例B,但是當我使用實例B的公共地址時,我沒有得到任何響應。
我在想什麼?
編輯:
如果我將上述安全配置中的源更改爲「Anywhere」,ping到公網IP工作。
只有當您ping實例B的private
地址時,您纔會感到驚訝。
您的子網的路由表將路由公共地址到您的VPC之外。當它離開VPC並且流量回來時,源地址將是公共IP,而不是私有IP。路由表首先在安全組之前。當您將流量發送到另一臺機器:
traceroute
或lft
跟蹤網絡跳數這很有道理。感謝您的澄清 – Nithin
一個使用它的公網IP可以ping實例?在實例A和B中運行什麼操作系統?你檢查過操作系統的防火牆設置嗎? –
你的意思是來自實例A的ping實例A?我在兩者上運行rancherOS。不認爲有任何操作系統防火牆處於活動狀態 – Nithin
[當您將安全組指定爲規則的源或目標時,該規則會影響與該安全組關聯的所有實例。根據與源安全組關聯的實例的私有IP地址(而不是公有IP或彈性IP地址)允許傳入通信。](http://docs.aws.amazon.com/AWSEC2/latest /UserGuide/using-network-security.html) –