练习 - 通过 Azure 防火墙路由网络流量

已完成

在上一个练习中,你部署了 Azure 防火墙。 现在需要通过防火墙路由所有网络流量,并使用防火墙规则筛选流量。 完成后,Azure 防火墙将保护 Azure 虚拟桌面的出站网络流量。

通过防火墙路由所有流量

对于主机池使用的子网,请将出站默认路由配置为通过防火墙。 你将完成以下三个步骤:

  1. 在与主机池 VM 和防火墙相同的资源组中创建路由表。
  2. 将路由表关联到主机池 VM 使用的子网。
  3. 在路由表上,添加通往防火墙的路由。

完成这些步骤后,所有流量都将路由到 Azure 防火墙。

创建路由表

首先,创建一个名为 firewall-route 的路由表。

  1. Azure 门户中,搜索并选择“路由表”。

  2. 选择“+ 新建”。

  3. 使用以下值:

    字段
    订阅 你的订阅
    资源组 learn-firewall-rg
    区域 选择先前使用的相同位置。
    名称 firewall-route

    Screenshot that shows the information to include when creating a route table.

  4. 选择“查看 + 创建”>“创建”。

  5. 部署完成后,选择“转到资源”。

将路由表关联到工作负载的子网

现在,将 firewall-route 关联到主机池的子网。

  1. 在“firewall-route”上的“设置”下,选择“子网”。 Screenshot that shows the subnet option under settings for the firewall route.

  2. 选择“+ 关联”。

  3. 选择以下值:

    字段 Value
    虚拟网络 hostVNet
    子网 hostSubnet
  4. 选择“确定”,然后等待关联添加完毕。

将路由添加到路由表

最后一步是在路由表上添加通往 Azure 防火墙的路由。 完成此步骤后,主机池虚拟网络上的所有网络流量都将通过 Azure 防火墙进行路由。

  1. 在“设置”下,选择“路由”。

    Screenshot that shows the routes option under settings on the firewall route table.

  2. 选择“+ 添加”。

  3. 输入以下值:

    字段
    路由名称 fw-rt
    目标类型 IP 地址
    目标 IP 地址/CIDR 范围 0.0.0.0/0
    下一跃点类型 虚拟设备
    下一跃点地址 粘贴上一个练习单元中的“防火墙专用 IP 地址”。 可在防火墙页面下找到此信息,信息列为“防火墙专用 IP”。

    Screenshot that shows the information to include when adding a route.

  4. 选择 添加

创建应用程序规则集合

默认情况下,防火墙拒绝对所有内容的访问,因此,你需要配置允许流量通过防火墙的条件。

创建应用程序规则集合,其中包含允许 Azure 虚拟桌面访问多个完全限定域名 (FQDN) 的规则。

  1. 在 Azure 门户中,搜索并选择“防火墙”。

  2. 选择“learn-fw”防火墙。

  3. 在“设置”下,选择“规则(经典)”。 Screenshot that shows the rules classic option under settings in the firewall.

  4. 选择“应用程序规则集合”选项卡,然后选择“添加应用程序规则集合”。 Screenshot that shows the application rule collection tab with the add application rule collection option.

  5. 输入以下信息:

    字段
    名称 app-coll01
    优先度 200
    操作 允许
  6. 在“规则”下的“FQDN 标记”部分中,输入以下信息:

    字段
    名称 allow-virtual-desktop
    源类型 IP 地址
    hostVNet 的地址空间,例如 10.0.0.0/16
    FQDN 标记 Windows 虚拟桌面
  7. 在“规则”下的“目标 FQDN”部分中,输入以下信息:

    字段
    名称 allow-storage-service-bus-accounts
    源类型 IP 地址
    hostVNet 的地址空间,例如 10.0.0.0/16
    协议:端口 https
    目标 FQDN *xt.blob.core.windows.net*eh.servicebus.windows.net*xt.table.core.windows.net
  8. 完成后,窗体如下图所示:Screenshot that shows the application rule collection form filled out.

  9. 选择 添加

创建网络规则集合

假设我们的方案使用 Microsoft Entra 域服务(Microsoft Entra 域服务),因此无需创建网络规则来允许 DNS。 但是,你需要创建规则来允许从 Azure 虚拟桌面 VM 流向 Windows 激活服务的流量。 若要让我们的网络规则允许密钥管理服务 (KMS),请使用 Azure 全球云的 KMS 服务器的目标 IP 地址。

  1. 在“learn-fw”>“规则(经典)”上,选择“网络规则集合”。

  2. 选择“网络规则集合”选项卡,然后选择“添加网络规则集合”。 Screenshot that shows the network rule collection tab with the add network rule collection option.

  3. 输入以下信息:

    字段
    名称 net-coll01
    优先度 200
    操作 允许
  4. 在“规则”下的“IP 地址”部分中,输入以下信息:

    字段
    名称 allow-kms
    协议 TCP
    源类型 IP 地址
    hostVNet 的地址空间,例如 10.0.0.0/16
    目标类型 IP 地址
    目标地址 23.102.135.246
    目标端口 1688
  5. 完成后,窗体如下图所示:Screenshot that shows the network rule collection form filled out.

  6. 选择 添加

检查你的工作

至此,你已通过防火墙路由了 Azure 虚拟桌面的所有网络流量。 请确保防火墙正常工作。 来自主机池的出站网络流量应通过防火墙筛选后流向 Azure 虚拟桌面服务。 你可以通过检查服务组件的状态,验证防火墙是否允许流量流向该服务。

  1. 在 Azure Cloud Shell 中运行以下命令:

    "rdgateway", "rdbroker","rdweb"|% `
    {Invoke-RestMethod -Method:Get `
    -Uri https://$_.wvd.microsoft.com/api/health}|ft `
    -Property Health,TimeStamp,ClusterUrl
    
  2. 你应该会看到如下所示的结果,即,列出的三个组件服务全都正常运行:

    Health               TimeStamp           ClusterUrl
    ------               ---------           ----------
    RDGateway is Healthy 7/2/2021 6:00:00 PM https://rdgateway-c101-cac-r1.wvd.microsoft.com/
    RDBroker is Healthy  7/2/2021 6:00:00 PM https://rdbroker-c100-cac-r1.wvd.microsoft.com/
    RDWeb is Healthy     7/2/2021 6:00:00 PM https://rdweb-c100-cac-r1.wvd.microsoft.com/
    

    如果一个或多个组件不正常,则表示防火墙未正常工作。