【问题标题】:Create 3 VNETS where all traffic is routed through one VNET (hub and spoke)创建 3 个 VNET,其中所有流量都通过一个 VNET(中心辐射型)路由
【发布时间】:2019-08-30 03:28:44
【问题描述】:

我正试图弄清楚如何回答我最近在考试中遇到的问题。要求如下:

  1. 您计划跨 3 个虚拟网络(vnetA、vnetB 和 vnetC)创建 100 个虚拟机
  2. 所有流量都必须通过 vnetA 路由
  3. 所有虚拟机都必须能够通过私有 IP 相互通信
  4. 解决方案不得需要任何虚拟网关
  5. 解决方案必须尽量减少对等互连的数量。
  6. 解决方案不得需要任何网络虚拟设备(VM 充当路由器)

对我来说,这听起来像是一个中心辐射型拓扑,我在其中执行以下步骤。

  1. 创建从 vnetA 到 vnetB 的 vnet 对等互连(允许转发流量)
  2. 创建从 vnetB 到 vnetA 的 vnet 对等互连
  3. 创建从 vnetA 到 vnetC 的 vnet 对等互连(允许转发流量)
  4. 创建从 vnetC 到 vnetA 的 vnet 对等互连

现在我需要辐对辐连接(在 vnetB 和 vnetC 之间),但它必须通过 vnetA,这是我感到困惑的地方。我的第一个想法是简单地启用上述两个对等互连之间的允许网关传输/使用远程网关选项,但由于 vnetA 没有虚拟网络网关(我什至尝试将 GatewaySubnet 添加到 vnetA),它不允许这样做。

我似乎无法使用附加到 vnetB 和 vnetC 子网的自定义路由表来指定下一个跃点,除非我使用了无法在此解决方案中使用的虚拟设备。

有人对如何解决这个问题有任何想法吗?

【问题讨论】:

    标签: azure networking azure-virtual-network


    【解决方案1】:

    据我所知,不可能满足1-6的所有要求。由于此反馈here 中对等 vnet 之间的可传递网络流在 MS 路线图上,对等连接是非传递的,因此您必须在 VNetB 和 VNetC 之间创建 VNet 对等。但是这种方法会增加对等互连的数量,并且 VNetB 到 VNetC 之间的流量不会通过 VNetA 路由。

    快速测试后,选择允许转发流量是不够的。在中心 VNet 中配置虚拟网络设备时,此配置选项是必需的,以便传输流量可以通过中心路由。更多详情here.

    允许转发的流量:选中此框以允许转发的流量 虚拟网络中的网络虚拟设备(没有 源自虚拟网络)流向此虚拟网络 通过对等。例如,考虑三个名为 Spoke1、Spoke2 和集线器。每个辐条虚拟之间存在对等互连 网络和集线器虚拟网络,但之间不存在对等互连 辐条虚拟网络。网络虚拟设备部署在 Hub 虚拟网络,并且用户定义的路由应用于每个 在子网之间路由流量的分支虚拟网络 网络虚拟设备。如果未选中此复选框 每个分支虚拟网络和中心虚拟网络之间的对等互连 网络,流量不会在辐条虚拟网络之间流动 因为集线器不转发虚拟之间的流量 网络。启用此功能时,允许转发的流量 通过对等互连,它不会创建任何用户定义的路由或 网络虚拟设备。用户定义的路由和网络虚拟 设备是单独创建的。了解用户定义的路线。 如果在之间转发流量,则无需检查此设置 通过 Azure VPN 网关的虚拟网络。

    总之,您必须为中心辐射网络创建 VPN 网关,或使用虚拟设备作为中心并为辐射网络创建 UDR。或者只是在 VNetB 和 VNetC 之间创建对等互连。

    【讨论】:

    • 这就是我想的,这就是为什么我对这个问题如此困惑。我知道使流量流过 vnet A 的唯一方法是 vnetA 是否具有虚拟网络网关或虚拟设备。
    • 我想知道为什么有人减去 1 的问题。问这个不合适吗?
    • 也许有人建议在服务器保险库中问一个非程序问题。
    • 试题是否正确?我猜这个问题是错误的,答案的正确实现是创建对等互连,即使它不起作用?
    【解决方案2】:

    你在正确的道路上。这一切都需要ARM;当您对等 VNET A 和 B 时,您只需为 A 和 B 以及 B 和 A 之间的对等选择“允许从 VNET A/B 访问虚拟网络 = 已启用”。然后,仅对于 B 和 A 之间的对等,选择“允许来自 VNETA 的转发流量 = 已启用”。

    您不需要在 B 和 C 之间进行任何对等。
    允许转发流量意味着允许不来自 VNET A(因此是 VNET C)的流量进入 VNET B。

    在 B 和 C 之间重复相同的过程。然后您将拥有一个中心辐射型设计。来自 B 的流量将通过 A 到达 C。因为你没有将任何流量遍历到 ExpressRoute、VPN 或经典 VNET,所以你不需要任何网关。

    【讨论】:

    • 感谢您的回复:) 我应该提到允许虚拟网络访问默认为启用,我没有更改,因此该部分的配置就像您提到的那样。我还已经为来自 vnetA 的两个对等连接配置了转发流量设置,所以我不确定是否需要做其他任何事情,或者我只是误解了你在说什么。你说的最后一件事是我应该在 vnetB 和 vnetC 之间重复一些过程,但我不能根据要求在它们之间创建任何东西。 ?
    • 我认为可能会混淆的要求是“解决方案必须尽量减少对等的数量”,这使得您看起来需要做的事情越少越好。这些考试问题旨在做到这一点。尽可能多地进行对等互连以完成解决方案。为了满足“所有虚拟机必须能够通过私有 IP 相互通信”的要求,您需要在 A 和 C 之间建立对等关系。
    • 我已经在 A 和 C 兄弟之间进行了对等。你是说 B 和 C 吗?
    【解决方案3】:

    问题并不是说不能使用 NVA,但任何此类部署都将构成您部署路由解决方案。该问题明确说明了在配置 IP 路由之前您会做什么,因此答案可能没有您预期的那么复杂。

    假设您要配置(例如,在 vNIC 上启用了 IP 转发的 VM 以充当路由器),则不需要网关子网或虚拟网关来实现中心辐射型拓扑。

    1. 创建 3 个子网,在您的示例中为 vnetA、vnetB 和 vnetC
    2. 从 vnetA,使用资源管理器部署模型创建与 VNETb 的对等互连
    3. 确保启用“允许从 vnetA 转发到 vnetB 的流量”
    4. 重复步骤 2 和 3,将 vnetB 替换为 vnetC

    就是这样。现在,当您配置 IP 路由时,您将在中心网络中配置路由器 VM 或其他一些网络虚拟设备 (NVA),并创建一个路由表以供以后应用到 vnetB 和 vnetC,指定路由器 VM 的内部 IP 作为下一跃点。

    【讨论】:

      【解决方案4】:

      这需要轮辐式设计:

      1. 在 VNET A 和 VNET B 之间创建 VNET 对等互连
      2. 在 VNET B 和 VNET A 之间创建 VNET 对等互连
      3. 在 VNET C 和 VNET B 之间创建 VNET 对等互连
      4. 在 VNET B 和 VNET C 之间创建 VNET 对等互连
      5. 在 VNET B 中添加子网网关
      6. 在 VNET B -VNET A 对等互连上允许网关传输
      7. 在 VNET B -VNET C 对等互连上允许网关传输
      8. 在 VNET B 中创建虚拟网络网关
      9. 创建路由表
      10. 将路由表附加到 VNET A 和 VNET B 子网
      11. 在 VNET A - VNET B 对等互连上启用远程网关
      12. 在 VNET C - VNET B 对等互连上启用远程网关

      【讨论】:

        猜你喜欢
        • 2017-07-20
        • 1970-01-01
        • 1970-01-01
        • 2019-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-08
        相关资源
        最近更新 更多