-1

所以我在同一个账户中有 2 个不同的 VPC。

在第一个 VPC (A) 中,我有一个属于私有子网的实例,所有数据都被路由到 NAT 网关(使用以前的配置)。

目前,我正在尝试从此实例访问另一个 VPC(B) 中的实例(telnet/ping/anything)。

我设置了 VPC 对等互连并更改了两个 VPC 的主路由表以针对对等互连连接。(不工作)

然后我尝试更改私有子网的路由表以直接路由到对等连接。(不工作)

有许多安全组在起作用,但是当我将 B 中实例上的 SG 更改为接受所有连接时,我能够从本地 PC 连接,但仍然不能从 A 中的实例连接。所以我认为 SG 不是问题. 我认为这可能是路由表,但无法找到原因。

当我从 A 中的实例跟踪路由时,它会转到 NAT 网关私有 IP,然后转到某个 AWS 实例(由 AWS 拥有,而不是我),然后迷路了。

连接可能在哪里出错?

4

1 回答 1

3

从您所描述的情况很难调试。

所以,相反,我试图重现你的情况,并记录了我采取的所有步骤。请按照以下步骤再创建两个 VPC,以便您对它实际上可以工作这一事实感到满意。

然后,一旦它运行起来,您可以将此配置与您现有的配置进行比较,以找出您当前的 VPC 配置可能出现的问题。

这就是我所做的。跟着!

  • 使用 VPC 向导创建了VPC-A(“具有单个公共子网的 VPC”)和一个 CIDR10.0.0.0/16和一个公共子网10.0.0.0/24
  • 手动创建具有 CIDR和私有子网的VPC-B10.5.0.0/1610.5.0.0/24
  • 在 VPC-A 中启动 EC2 Instance-A(可公开访问,具有允许从 SSH 访问的安全组0.0.0.0/0
  • 在 VPC-B 中启动 EC2 Instance-B(在私有子网中,具有允许从 SSH 访问的安全组0.0.0.0/0
  • 创建了从 VPC-A 到 VPC-B的VPC 对等连接
  • 接受对等连接
  • 为 VPC-A 的主路由表添加了一条路由,其目的地为10.5.0.0/16(VPC-B 的范围),指向对等连接
  • 为 VPC-B 的主路由表添加了一条路由,其目的地为10.0.0.0/16(VPC-A 的范围),指向对等连接
  • 通过 SSH登录到Instance-A
  • 从 Instance-A,通过 SSH 连接到Instance-B 的私有 IP 地址

我必须先将我的私钥粘贴到 Instance-A 上的 PEM 文件中,chmod用于设置权限,然后使用:

ssh -i keypair.pem ec2-user@10.5.0.15

10.5.0.15我使用了 Instance-B ( )的私有 IP 地址。这是随机分配的,因此当您自己尝试时会略有不同。

结果是......我通过对等连接通过 SSH 从 VPC-A 中的实例 A 成功连接到 VPC-B 中的实例 B(正如我通过私有 IP 地址连接的事实和事实证明的那样VPC-B 没有 Internet 网关)。

因此,如果您按照上述步骤操作并使其正常工作,您将能够比较现有设置并找出不同之处!

于 2018-08-08T09:59:51.093 回答