如何配置 Azure 虚拟网络之间的路由?

如何配置 Azure 虚拟网络之间的路由?

我正在设计一个包含多个虚拟网络的 Azure 环境,并且要求所有网络连接;任何网络中的 VM 都应该能够与任何其他网络中的另一个 VM 通信。

可以使用全网状拓扑连接这些网络,但随着网络数量的增加,这很快就会失控,我真的不想设置和管理n(n - 1)/2VPN 连接。

我宁愿使用中心辐射型拓扑连接它们,如果达到 Azure 中每个虚拟网络 10 个连接的限制,也许可以使用多个中心。但是,我遇到了一个问题:似乎没有办法在 Azure 中处理路由。

为了简单起见,假设我有三个虚拟网络:

  • 网络 A - 10.10.1.0/24
  • 网络 B - 10.10.2.0/24
  • 网络 C - 10.10.3.0/24

我想将网络 A 连接到网络 B,将网络 B 连接到网络 C;我不希望网络 A 和 C 之间直接连接:我希望网络 A 通过网络 B 与网络 C 通信。

如果我能控制网关,这将完全不是问题;几个静态路由就可以快速有效地解决问题。

但是,在 Azure 中,我找不到为虚拟网络定义附加路由的方法,因此我无法告诉网络 A 的网关“将发往网络 C 的流量发送到网络 B”(反之亦然)。

如何在 Azure 中实现这一点?

答案1

好的,这可以做到,但绝对不像它可以(和应该)那么容易。

基本上,诀窍是使用 Azure 的“本地网络”来根据需要配置 Azure 网关,即使我们不能直接接触它们的配置。

为了在两个 Azure 虚拟网络之间建立连接,您需要定义两个匹配的“本地网络”,然后让每个网络连接到与另一个网络对应的“本地网络”;这已经是一个不太直接的过程,但至少有一个一些 文档对此。对于给定的虚拟网络,拥有多个连接甚至更加复杂,因为您无法从管理门户(或 PowerShell)处理该问题,而是必须手动编辑网络配置文件;但是,甚至这也可以做到

但是路由怎么办?在本问题描述的场景中,假设网络 B 正确连接到网络 A 和网络 C,我们如何在这两个网络之间路由流量?

我们可以通过使用本地网络定义来做到这一点;基本上,我们必须告诉网络 A 的网关,它与网络 B 的连接不仅可以到达网络 B 的 IP 子网,还可以到达网络 C 的 IP 子网;当然,我们也会将相反的情况告知网络 C 的网关。

我们已经定义了四个本地网络:

  • 本地网络 A(从虚拟网络 B 的角度来看):10.10.1.0/24
  • 本地网络 C(从虚拟网络 B 的角度来看):10.10.3.0/24
  • 本地网络 B(从虚拟网络 A 的角度来看):10.10.2.0/24
  • 本地网络 B(从虚拟网络 C 的角度来看):10.10.2.0/24

我们将对其进行如下修改:

  • 本地网络 A(从虚拟网络 B 的角度来看):10.10.1.0/24
  • 本地网络 C(从虚拟网络 B 的角度来看):10.10.3.0/24
  • 本地网络 B(从虚拟网络 A 的角度来看):10.10.2.0/2410.10.3.0/24
  • 本地网络 B(从虚拟网络 C 的角度来看):10.10.2.0/2410.10.1.0/24

这样,当网络 A 连接到网络 B 时,它将使用此连接来路由发往网络 C 的数据包。当网络 B 的网关接收到这些数据包时,它就已经知道如何处理它们,并且它将通过其与网络 C 的连接将它们路由;反之亦然。


还有一个额外的好处,它适用于站点到站点的连接外部Azure 也是如此。如果您想将 VPN 连接到公司总部,并将其连接到网络 B(从而创建 Y 形拓扑),您可以告诉网络 A 和网络 B,它们可以通过与网络 B 的连接以完全相同的方式到达您的公司总部。

答案2

如果您不想每次连接两个网络时都费心使用 VPN,Azure 引入了 vNet Peering:

https://docs.microsoft.com/en-us/azure/virtual-network/create-peering-different-deployment-models

https://azure.microsoft.com/en-us/resources/videos/virtual-network-vnet-peering/

它可能值得一看,因为它摆脱了难以管理的困境。

如果您想了解有关如何实现它的更多信息,我为此目的在我的 blob 上创建了一个线程,以及如何在 Azure 上使用 PFSENSE。(PFSENSE 是免费的,如果您想要一个免费的路由器,我会为其打包一个 VHD)

https://mouradcloud.westeurope.cloudapp.azure.com/blog/blog/2018/07/19/build-azure-hub-and-spoke-using-pfsense-nva-udr-vnet-peering-and-vpn-on-local-router/

在此处输入图片描述

相关内容