如何通过不同 VPC 中的主机路由来自 VPC 中主机的流量

如何通过不同 VPC 中的主机路由来自 VPC 中主机的流量

总结有没有办法通过 10.0.0.6 将流量从 172.20.0.100 路由到图中的 200.0.0.100?

在此处输入图片描述

我有一个设置,其中有一个现有的 AWS VPC (172.20.0.0/16),其中包含许多主机。我们正尝试为具有以下限制的供应商设置 VPN:

  1. 源主机必须与 VPN 对端不同
  2. 源主机必须具有公共 IP 地址或供应商颁发的私有地址

为此,供应商为我们分配了 10.0.0.0/28 的范围。我们已在该网络的帐户中设置了第二个 VPC,因为我们无法将 10.0.0.0/28 范围添加到我们现有的 VPC。似乎存在一个限制,即您只能向具有相同前缀 (10、172、192) 的 VPC 添加其他范围。

VPC 2 的路由表中有一条路由,通过 IPSEC VPN 主机的内部接口 (eni) 发送 200.0.0.0/24 的所有流量。

从 10.0.0.6 到 200.0.0.100 的 VPN 连接正常。

VPC 1 和 2 是同级的,并且已进行路由和 SG 更改,以便 172.20.0.0/16 中的所有机器都可以连接到 10.0.0.0/28 中的所有主机(所有流量,而不是特定的 UDP/TCP/ICMP 规则)。因此 172.20.0.100 可以连接到 10.0.0.6。

有什么方法可以这样设置:

  • 从 VPC 1 到 200.0.0.0/24 的所有流量都通过 VPN 主机上的内部 NIC 路由
  • 从 VPC 2 到 200.0.0.0/24 的所有流量都通过 10.0.0.6 主机上的内部 NIC 路由,这样就可以进行 NAT 吗?

提前致谢 !

答案1

你的情况很有趣。我将介绍支持两个网络之间路由的五种方法。

你问了两个问题:

有什么方法可以这样设置:

1) 从 VPC 1 到 200.0.0.0/24 的所有流量都通过 VPN 主机上的内部 NIC 路由。

2) 从 VPC 2 到 200.0.0.0/24 的所有流量都通过 10.0.0.6 主机上的内部 NIC 路由,这样可以进行 NAT 吗?

1) 对于问题 1,您的 VPN 主机是否是支持添加路由条目的路由器?如果是,那么可能(请参阅方法 3 底部的评论)。如果不是,请查看方法 3 或方法 4。

2) 对于问题 2,请查看方法 4 在该实例上配置代理服务器。但是,不要将该实例用于其他任何用途,而只是代理服务。大小和类型取决于您需要路由多少流量。

但是,如果您的供应商只允许来自 10.0.0.0/28 的源地址,那么方法 4(代理服务器)可能是唯一的解决方案。

现在介绍各种方法。根据您的要求,并非所有方法都可以接受。我列出了所有方法,以防您可以修改您的环境。

方法 1:最简单的解决方案是让您的供应商允许从 VPC 1 到其数据中心的 VPN,并允许 172.200.0.0/24。您可以通过创建子网 172.200.X.0/28(仅允许 11 个主机)将其缩小到 /28

方法 2:将您的资源从 VPC 1 移动到 VPC 2。适用相同的子网限制。

方法 3:在 VPC 2 中,您需要配置运行路由软件 (R1) 的实例。此实例需要 /28 子网内的地址。然后从 VPC 1 在路由表中创建一个条目,用于将流量发送到 200.0.0/24 并将其发送到 R1。供应商路由表中需要有一个类似的条目,以将 172.20.0.0/16 的流量发送到 R1。两个网络(VPC 1 和供应商)都需要 10.0.0.0/28 的路由。您可能能够在 IPsec VPN 主机上配置路由(这是运行 VPN 软件或 VGW 的实例吗?)。注意:您的供应商必须允许您的 172.20.0.0/16 地址(或子网)进入他们的网络,因为这将是源 IP 地址,而不是 10.xxx

方法 4:在 VPC 2 中设置代理服务器并将流量路由到代理服务器。这意味着流量源自一个方向 VPC 1 -> 供应商(或反向设置)。供应商将无法发起到 VPC 1 的流量。您可以在代理服务器上进行端口映射以支持供应商 -> VPC 1。但是,使用端口映射,您将无法映射所有地址的所有端口(只能映射您配置的端口)。

[使用方法 5 编辑]

如果 VPC2 中的 VPN 主机是 AWS 虚拟网关 (VGW),则可以设置到 VPC 1 的路由(多个 VPC 可以使用同一个 VGW)。这可能是最简单的解决方案。

答案2

我认为最简单、最有效的方法是使用 AWS 路由表。只需将目标为 200.0.0.0/24 的条目添加到您拥有 VPN 实例的 VPC 子网上的 NIC-id|Instance-id 即可。并将 200.0.0.0/24 添加到另一个 VPC 上的 10.0.0.1/32。

由于 VPC 已经对等,因此应该可以完成这项工作。这种解决方案的优点在于,无需对实例进行任何调整/配置。

https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html

请注意,EC2 级别有一个 sourcs destination check选项,这可能是 AWS 上的一个陷阱。您很可能需要在 ipsec 主机 (10.0.0.1) 上禁用该选项。

相关内容