我在下面构建了以下模型。有 4 个实例在 4 个创建的子网(绿色 CIDR)中部署了 CSR 1000v 路由器,这些子网的掩码为 28。我创建了其他子网,以便为这些路由器创建接口(蓝色 CIDR)。我已将每个接口附加到其适当的实例。
由于ip route
在配置接口后,显示两个实例之间有直接连接,因此我无法从网络的任何实例 ping 其他接口。我只能ping
从Instance 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 实例,而且一切都将变得更加整洁和易于操作。
希望有帮助:)