私有子网的 AWS VPC ACL

Oma*_*mar 3 access-control-list amazon-web-services amazon-vpc

我使用 VPC 向导创建了一个 VPC,其中包含两个子网(公共和私有),以及私有子网前面的 NAT。

查看子网的 ACL,有一条规则允许0.0.0.0/0. 我想禁止,这不是从NAT来(与IP 10.0.0.8),所以我改变ACL是类似于那些在任何入站流量Scenario 2http://docs.aws.amazon.com/AmazonVPC/latest /UserGuide/VPC_Appendix_NACLs.html

也就是说,ALLOW来自 的所有端口上的所有协议10.0.0.0/16,不允许0.0.0.0/0.

这似乎无法正常工作,因为我的实例无法访问 Internet。我还需要设置/更改其他内容才能使其正常工作吗?

Jef*_*tin 7

可公开路由的 IP 地址在通过 NAT 实例时不会被重写。

您需要将整个公共 Internet 地址空间保留在网络 ACL 中的私有子网上。如果私有子网没有 Internet 网关并且其默认路由指向 NAT 实例,则公共 Internet 地址将仅通过 NAT 实例间接到达。

VPC 网络 ACL 可用于限制 VPC 内实例之间的访问,但它们的无状态性质使它们对于您描述的配置类型很麻烦:它不会跟踪与允许的出站规则匹配的连接以允许相应的入站流量,因此您被迫通过允许入站流量的临时端口范围来进行近似。

更灵活的方法是结合使用 VPC 路由、私有子网上没有 Internet 网关以及iptablesNAT 实例中的良好配置来控制进出公共可路由 IP 空间的流量,同时将网络 ACL 留给私有子网实例默认允许公共可路由 IP 空间。在这种环境中,私有子网中的放置足以保护实例免受 NAT 实例未通过的任何外部流量的影响。

  • 您需要允许从 0.0.0.0/0 到 [临时端口范围](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html#VPC_ACLs_Ephemeral_Ports) 的入站访问,因为使用了端口发起出站请求一般是从这个范围分配的。临时端口范围因操作系统和原始机器的配置而异。 (2认同)