2016-06-07 11 views
-1

让我先介绍我的操作步骤:我是否需要为我的笔记本电脑设置路由表以ssh到具有公共IP的实例?

  1. 我设置了CIDR 10.20.0.0/16一个VPC(和我创建并附加了IGW,IGW-14ed6f75)。

  2. 然后我建立了一个子网subnet_A 10.20.1.0/24。该子网的路由表是10.20.0.0/16 -->local注:我没有设置的0.0.0.0/0 --> igw-14ed6f75路线在这个路由表)

  3. 我subnet_A启动一个实例instance_A,它自动创建的公网IP是52.53.245.253。 (顺便说一句,用于此实例中的密钥对是bastion_box)

  4. 我想通过ssh -i ~/.ssh/bastion_box.pem [email protected]

    • 结果/观察ssh到instance_A:我不能 ssh进入instance_A
  5. 现在我在路由表中添加了一条路由0.0.0.0/0 --> igw-14ed6f75到与subnet_A关联的路由表中,然后我再次执行ssh操作ssh -i ~/.ssh/bastion_box.pem [email protected]

    • 结果/观察:我可以成功ssh到instance_A现在

这里是我的问题:为什么我们需要的0.0.0.0/0 --> igw-14ed6f75的路线能够成功地使用SSH连接实例?我认为这个规则是为了连接到Internet的实例,但不是为了在子网中连接外部机器。

回答

2

TCP连接是双向连接。服务器需要能够将流量发送到客户端(并且一旦初始握手完成,两者不可区分)。没有出口路由,服务器无法将任何数据包发送回客户端以建立连接。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html(粗体加):

要允许访问或从互联网实例在VPC 子网,你必须做到以下几点:

  • 连接互联网通往您VPC的网关。
  • 确保您的子网的路由表指向Internet网关。
  • 确保子网中的实例具有公有IP地址或弹性IP地址。
  • 确保您的网络访问控制和安全组规则允许 相关流量流入和流出您的实例。
相关问题