如何使用路由表在 AWS 中的实例之间进行路由?

如何使用路由表在 AWS 中的实例之间进行路由?

我在下面构建了以下模型。有 4 个实例在 4 个创建的子网(绿色 CIDR)中部署了 CSR 1000v 路由器,这些子网的掩码为 28。我创建了其他子网,以便为这些路由器创建接口(蓝色 CIDR)。我已将每个接口附加到其适当的实例。

由于ip route在配置接口后,显示两个实例之间有直接连接,因此我无法从网络的任何实例 ping 其他接口。我只能pingInstance 1接口 ping 通Instance 2,反之亦然,但其他接口都无法访问。

在此处输入图片描述

我也尝试了静态路由,但同样不起作用。我尝试将自定义路由表Destination设为子网 1,其中Instance 1部署的是172.31.0.0/28,目标是连接到 的接口之一Instance 1。如上表所示:

|--------------------|---------------------|--------------| | Destination | Target | Status | |--------------------|---------------------|--------------| | 172.31.0.0/16 | Local | Active | |--------------------|---------------------|--------------| | 172.31.0.0/28 |eni-01688e43d190ca787| | |--------------------|---------------------|--------------| 然后我收到这个消息错误

API error message cannot create a more specific route for 172.31.0.0/28 than CIDR 172.31.0.0/16 associated with the VPC, with association-id vpc-cidr-assoc-9ee5e5f6, in route table rtb-06de44ffbb5c66799

请注意,我ICMP在所有实例中都允许流量,并且我禁用Source/Dest,我该如何在这里进行 ping,或者如何在我的情况下使用路由表?

答案1

将所有路由器都放在同一个 VPC 内是相当令人困惑的,而且我并不惊讶它不起作用,因为 VPC 路由有一些限制。

如果我是你我会:

  • 创造4 个不同的 VPC在您的 AWS 账户中,有 4 个不同的 CIDR
  • 创造每个 VPC 1 个 CSR,每个都有一个公共/弹性 IP
  • 通过公共 IP 链接它们(您可以通过安全组限制访问),也可以选择通过 VPN 或 PPP 或其他类型的隧道链接它们。

这将更接近于真实世界场景每个 LAN 都有一个路由器,LAN 具有不同的 CIDR,您可以在 LAN 内拥有 EC2 实例,而且一切都将变得更加整洁和易于操作。

希望有帮助:)

相关内容