IANA 将某些 IP 块设置为私有 IP 范围(如下图所示)
10.0.0.0 – 10.255.255.255 (255.0.0.0)
172.16.0.0 – 172.31.255.255 (255.255.0.0)
192.168.0.0 – 192.168.255.255 (255.255.255.0)
公共 IP 地址由互联网服务提供商发放,第一个八位字节的数字范围从1
到,但A 类私有网络和B 类私有地址的191
私有地址范围除外。10.0.0
172.16.0
要将 VPC 划分为每个区域的一个私有子网和一个公有子网(如下所示):
应用服务器位于私有子网中。
NAT 网关和堡垒服务器位于公共子网中
1)我是否需要对两个私有子网使用私有 IP 范围(仅)?
2)我是否需要对两个公共子网使用公共 IP 范围(仅)?
答案1
整个 VPC 有一个大的私有地址块,例如,10.20.0.0/16
你的子网有这个地址块的片段,例如
- 公共-az1和公共-az2将会有
10.20.0.0/24
并且10.20.1.0/24
- 私有-az1和私有-az2将会有
10.20.2/24
并且10.20.3.0/24
此外,民众子网可以有公共 IP或者弹性 IP也会分配。这些由 AWS 逐个分配,并根据请求分配给各个实例。
更新:详情可以参考我的另一个回答:EC2 实例的 NAT 网关
通常,VPC 中有两种子网:
公共子网
- 具有 IGW 和可选的 NAT
0.0.0.0/0
指向 IGW- 主机(EC2 实例)从 VPC 范围(10.20.0.0/16)获取其主要私有 IP,但同时……
- 主持人必须有公有 IP或者弹性 IP直接连接到互联网
- 可以通过此公共/弹性 IP 从互联网联系主机(如果安全组许可证)
私有子网
- 没有 IGW 或 NAT
- 指向
0.0.0.0/0
NAT 的公共子网多于 - 主机仅具有 VPC 范围内的私有 IP,并且所有出站访问均“屏蔽”到 NAT 网关 IP
- 主机可以发起与互联网的连接,但无法从外部联系,因为它们“隐藏”在 NAT(网络地址转换网关)后面。
- 没有配置 NAT 的主机将无法访问互联网
希望这能解释清楚:)
答案2
您可以在 AWS VPC 内使用任何 IP / CIDR 块,因为 VPC IP / CIDR 仅对 VPC 内的资源可见,对 AWS 外部不可见。与互联网的任何交互都是使用弹性 IP(又称公共 IP)完成的。
唯一需要记住的是,如果您想与其他 VPC 对等,则不能有重叠的 CIDR 块。
答案3
您需要对所有子网使用私有 IP 地址。
VPC 中具有公有 IPv4 地址(自动分配/动态或静态/EIP)的实例不知道其公有 IP 地址。例如,ifconfig
在 Linux 服务器上,具有公有 IP 地址的实例将不是显示公有 IP——它将显示私有 IP。互联网网关在设备分配的公有 IP 地址和设备实际的私有 IP 地址之间执行 1:1 静态 NAT。
互联网网关有两个用途:在您的 VPC 路由表中为可路由互联网的流量提供目标,以及为已分配公有 IPv4 地址的实例执行网络地址转换 (NAT)。
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html
对于没有公共 IP 的实例,Internet 网关不会执行此操作,这就是为什么您需要一个或多个 NAT 网关才能让这些实例访问 Internet。