EC2实例如何同时具有仅具有一个网络接口的私有IP和公共IP

时间:2018-01-29 11:08:40

标签: amazon-web-services networking amazon-ec2 interface ip

我特别感兴趣的是EC2实例如何同时具有公共IP和私有IP,而我登录EC2实例时只通过ifconfig命令看到一个网络接口?

2 个答案:

答案 0 :(得分:1)

AWS Docs解释得很好 -

  

每个接收公共IP地址的实例也会获得一个   外部DNS主机名;例如,   ec2-203-0-113-25.compute-1.amazonaws.com。我们解析了外部DNS   hostname到网络外部实例的公共IP地址   实例的实例,以及实例的私有IPv4地址   在实例的网络内。公共IP地址映射到   通过网络地址转换的主要私有IP地址   (NAT)。

答案 1 :(得分:0)

让我试着按照我理解的方式解释你,

假设您有一台在办公室/学校中使用的计算机(本地桌面)。

Private IP Address是无法在您的网络外访问的IP

10.0.0.0 – 10.255.255.255 A类

172.16.0.0 – 172.31.255.255 B类

192.168.0.0 – 192.168.255.255 C类

现在你的机器会像许多其他人一样SWITCH or Firewall支持公共IP(ISP Terminology时的静态IP),所以当有人需要从外面与你沟通时,他们会与使用公共IP,交换机将有转换作业并将该请求路由到您的计算机。

所以尽管你的机器只有一个网卡,你可以说你有一个本地地址和一个公共IP。

现在在AWS术语中将其称为Per AWS Documentation

私有IPv4地址是无法通过Internet访问的IP地址。您可以使用专用IPv4地址在同一网络(EC2-Classic或VPC)中的实例之间进行通信。

启动实例时, AWS会为该实例分配主私有IPv4地址。每个实例还会获得一个内部DNS主机名,该主机名可解析为主要私有IPv4地址;例如,ip-10-251-50-12.ec2.internal。您可以使用内部DNS主机名进行同一网络中的实例之间的通信,但AWS无法解析实例所在的网络外的DNS主机名

VPC中的每个实例都有一个默认网络接口(eth0),该接口被分配了主私有IPv4地址。

Public IP address是可从Internet访问的IPv4地址。您可以使用公共地址在实例和Internet之间进行通信。

  

AWS将外部DNS主机名解析为的公共IP地址   实例网络外的实例,以及私有IPv4   实例网络中的实例地址。该   公共IP地址通过映射到主要私有IP地址   网络地址转换(NAT)。有关NAT的更多信息,请参阅   RFC 1631: The IP Network Address Translator (NAT).

这解释了AWS如何将公共IP转换为私有IP,请阅读AWS文档,因为它将进一步明确您的疑问。

希望这能清除你的怀疑