0

当我们创建 VPC 时,我们通常会为其分配一个私有 IPv4 地址范围,如RFC 1918中指定的那样。

我假设 Internet 网关、NAT 网关等托管在 AWS 托管的 VPC 上,因为它们具有高可用性和可扩展性,就像客户在 AWS 上设计服务的方式一样。

是否有 AWS 保留私有 IPv4 范围用于解决客户的 VPC 和他们自己的托管 Internet 网关/NAT 网关的 VPC 之间的重叠?如何管理 CIDR 重叠?

4

3 回答 3

1

您似乎在询问客户 VPC 与用于“运行”AWS 的实际网络之间的重叠。但是,没有这样的重叠。

VPC 中的所有网络都是虚拟的。部署在 VPC 中的基础设施将获得来自 VPC 的 CIDR 范围的 IP 地址。例如,NAT 网关通过弹性网络接口 (ENI) 连接到 VPC,该接口使用 VPC 内的私有 IP 地址。这允许它与 VPC 中的其他资源进行通信,例如 EC2 实例、RDS 数据库和负载均衡器。

Internet 网关不使用任何私有 IP 地址。它只是一个 VPC 和 Internet 之间的路由概念。

AWS 用于运行服务的实际设备在 VPC“外部”存在的单独网络上运行。

于 2021-09-06T12:45:16.977 回答
1

是的,AWS 有一些方法可以在您的 VPC 中保留 IP 地址 :)。

  1. 首先,互联网网关实际上不会用完您 VPC 中的地址。vpc 路由器基本上负责到 Internet 网关的路由(更多关于下面的 vpc 路由器)。我猜他们使用各种花哨的网络覆盖和技巧来处理这种流量。不幸的是,我还不足以成为网络专家来了解他们为此使用的确切技术。
  2. 创建 NAT 网关时,AWS 实际上会在您的子网内创建一个弹性网络接口,并附加一个私有 IP 地址。转到 EC2 控制台中的“弹性网络接口”视图时,您可以看到这些。显然,您不能重复使用这些地址。
  3. 第三,aws 实际上为每个子网保留了几个地址。来自 aws 文档:

每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址不可供您使用,也不能分配给实例。例如,在 CIDR 块为 10.0.0.0/24 的子网中,保留了以下五个 IP 地址:

  • 10.0.0.0:网络地址。
  • 10.0.0.1:AWS 为 VPC 路由器保留。
  • 10.0.0.2:由 AWS 保留。DNS 服务器的 IP 地址是 VPC 网络范围的基础加 2。对于具有多个 CIDR 块的 VPC,DNS 服务器的 IP 地址位于主 CIDR 中。我们还为 VPC 中的所有 CIDR 块保留每个子网范围的基数加上两个。有关更多信息,请参阅 Amazon DNS 服务器。
  • 10.0.0.3:由 AWS 保留以供将来使用。
  • 10.0.0.255:网络广播地址。我们不支持 VPC 中的广播,因此我们保留此地址。如果您使用命令行工具或 Amazon EC2 API 创建 VPC 或子网,CIDR 块将自动修改为其规范形式。例如,如果您为 CIDR 块指定 100.68.0.18/18,我们创建一个 100.68.0.0/18 的 CIDR 块。

简而言之,vpc 路由器负责将请求路由到 AWS 互联网网关,NAT 网关拥有自己的弹性网络接口,并且还保留了一些其他地址。

于 2021-09-06T12:35:47.873 回答
0

Private IP address can reuse in different network and can not be use in public, that's why it is called private.

If you use AWS services and if it is in a VPC, it will get an IP address in your CIDR range. Otherwise, it will allocate in AWS network.

于 2021-09-06T10:53:26.917 回答