【发布时间】:2021-11-02 16:30:12
【问题描述】:
我的问题的简短版本:
- 如果一个实例有一个公共 ip 但它位于私有子网中,它可以接收入站流量吗? (假设没有防火墙阻止它)
- 当路由表中没有 Internet 网关的路由时,这是否意味着 (1) 它只是丢弃到 Internet 的出站流量或 (2) 路由表和 Internet 之间没有“连接”网关根本,因此,它也不会接收来自互联网的入站流量?如果是(2),您能否详细说明这种“联系”是如何建立的?
我的问题的加长版:
我正在观看 Whizlab 上的一门课程,讲师在该课程中构建了下图中的网络结构,以演示中转网关如何适用于私有子网。我对阻止green ec2_1 访问blue ec2_2 的原因感到困惑。
他通过以下方式测试了这种不可访问性:
- ssh 进入
green ec_1 - 然后,ping
blue ec2_1 private ip,成功 - 然后,ping
blue ec2_2 private ip,没有响应
然后他说,ping 到 blue ec2_2 private ip 将不起作用,因为“我们没有从绿色实例到私有子网中的蓝色实例的路由”。
但是,我认为原因应该是“我们没有从私有子网中的蓝色实例到绿色实例的路由”。基本上,我认为 ping 失败的是蓝色私有子网中的出站流量,而不是入站流量。
更多我目前的理解:
- vpc 中的任何路由表都可以接收转发给它的任何流量。考虑到数据包中包含的
destination,它将流量发送到名为target的下一跳。如果它没有给定的destination,它只会丢弃流量。 - 第二个测试 ping 可以根据
blue route_table_2中的“20.0.0.0/16=>local”路由路由到blue ec2_2
(抱歉,图片太小!包含的细节太多,请随时在新标签中打开它!)
发布此问题后,我发现 this post 很有帮助。那篇文章解释了 NAT 和私有子网如何在 vpc 中工作,以及为什么在私有子网中具有公共 ip 的实例可能接收互联网流量但不发送有用的出站流量.
【问题讨论】:
标签: amazon-web-services networking routes amazon-vpc