【问题标题】:Do I need to set up route table for my laptop to ssh to an instance with public IP?我是否需要为我的笔记本电脑设置路由表以 ssh 到具有公共 IP 的实例?
【发布时间】:2016-06-07 13:28:07
【问题描述】:

让我先描述一下我的操作步骤:

  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 ec2-user@52.53.245.253 ssh 到 instance_A

    • 结果/观察:我不能通过 ssh 进入 instance_A
  5. 现在我在与子网_A关联的路由表中添加了一条路由0.0.0.0/0 --> igw-14ed6f75,然后我再次执行ssh操作ssh -i ~/.ssh/bastion_box.pem ec2-user@52.53.245.253

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

这是我的问题:为什么我们需要0.0.0.0/0 --> igw-14ed6f75 的路由才能成功ssh 进入实例?我认为这个规则是针对实例连接到 Internet,而不是外部机器连接到子网。

【问题讨论】:

    标签: amazon-ec2 amazon-vpc


    【解决方案1】:

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

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

    为 VPC 中的实例启用到或从互联网的访问 子网,您必须执行以下操作:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-24
      • 2016-10-01
      • 2017-01-15
      • 1970-01-01
      • 2016-11-06
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多