我尝试在亚马逊 AWS 中实现这个网络:
因此,我在亚马逊 VPC 中有以下子网:
子网subnet-0ac620105fc198e33
使用具有弹性 IP 的 NAT 网关,该 IP 具有以下路由表:
这nat-0de30b43c561c4161
是我的 nat 网关。
并且所有子网都具有以下 ACL
上面显示的相同规则适用于入站和出站流量。
我也有 2 个 EC-2 实例:
- 它位于使用 NAT 网关的子网中用于 ssh 访问的公共子网中
- 一个在使用 nat 网关的子网中
在访问第二个 EC-2 实例后,我运行以下命令:
ping 8.8.8.8
curl http://google.com
但无法连接到谷歌。为什么我无法连接?
摘要:NAT 网关必须在公共子网中,并且必须有到 Internet 网关的路由。AWS 文档在此处和此处对此进行了介绍。
查看 nat 网关位于通过普通 Internet 网关访问的子网中,在您的情况下,Host1 和 Nat 网关都可以位于同一子网中,也可以位于通过普通 Internet 网关转发流量的子网中。
在一个简单的图像中,您必须实现以下目标:
因此,将 Nat Gateway 视为另一台将流量转发到具有 Internet 网关的子网的主机。上图显示了每台机器应如何连接到互联网。在您的情况下,通过正常的 Internet 网关
Host 2
访问Subnet 2
和通过 Nat Gatewaty 和子网 1 访问 Internet。在您的情况下,子网
subnet-0c8192051e2a46965
或subnet-065ae3de09e9f8355
适合托管 Nat 网关。但是 Nat 网关不能在子网中subnet-0ac620105fc198e33
为了更改 Nat 网关的子网,您必须创建一个新的 Nat 网关,然后更新路由表以使用 Nat 网关。如果您想保留弹性 IP,请等待旧的 Nat 网关被删除。之后,使用新的。
请记住,一旦您在此字段中创建新的 Nat 网关,如下所示:
选择子网
subnet-0c8192051e2a46965
或subnet-065ae3de09e9f8355
。