你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure 防火墙管理器保护中心虚拟网络
将本地网络连接到 Azure 虚拟网络以创建混合网络时,必须能够控制对 Azure 网络资源的访问,这是整体安全计划的重要部分。
使用 Azure 防火墙管理器,可以创建中心虚拟网络来保护发往专用 IP 地址、Azure PaaS 和 Internet 的混合网络流量。 可以使用 Azure 防火墙器通过策略来定义允许和拒绝的网络流量,以便控制混合网络中的网络访问。
防火墙管理器还支持安全虚拟中心体系结构。 有关安全虚拟中心和中心虚拟网络体系结构类型的比较,请参阅有哪些 Azure 防火墙管理器体系结构选项?
在本教程中,请创建三个虚拟网络:
- VNet-Hub - 防火墙在此虚拟网络中。
- VNet-Spoke - 分支虚拟网络代表 Azure 中的工作负荷。
- VNet-Onprem - 本地虚拟网络代表本地网络。 在实际部署中,可以使用 VPN 或 ExpressRoute 来连接它。 为简单起见,本教程将使用 VPN 网关连接,并使用 Azure 中的某个虚拟网络来代表本地网络。
本教程介绍如何执行下列操作:
- 创建防火墙策略
- 创建虚拟网络
- 配置和部署防火墙
- 创建并连接 VPN 网关
- 将中心和分支虚拟网络对等互连
- 创建路由
- 创建虚拟机
- 测试防火墙
先决条件
混合网络使用中心辐射型网络体系结构模型在 Azure VNet 与本地网络之间路由流量。 中心辐射型网络体系结构具有以下要求:
将 VNet-Hub 对等互连到 VNet-Spoke 时设置 AllowGatewayTransit。 在中心辐射型网络体系结构中,辐射虚拟网络可以通过网关传输共享中心的 VPN 网关,不必在每个辐射虚拟网络中部署 VPN 网关。
此外,通往网关连接的虚拟网络或本地网络的路由会通过网关传输自动传播到对等互连的虚拟网络的路由表。 有关详细信息,请参阅针对虚拟网络对等互连配置 VPN 网关传输。
将 VNet-Spoke 对等互连到 VNet-Hub 时设置 UseRemoteGateways。 如果设置了 UseRemoteGateways 并且还在远程对等互连上设置了 AllowGatewayTransit,则辐射虚拟网络使用远程虚拟网络的网关进行传输。
若要通过中心防火墙路由辐射子网流量,需有一个用户定义的路由 (UDR) 且该路由应指向禁用了“虚拟网络路由传播”设置的防火墙。 此选项可防止路由分发到辐射子网。 这可以防止获知的路由与你的 UDR 冲突。
请在中心网关子网上配置一个指向防火墙 IP 地址的 UDR,将其作为通向辐射网络的下一跃点。 无需在 Azure 防火墙子网中创建 UDR,因为它会从 BGP 探测路由。
请参阅本教程的创建路由部分了解如何创建这些路由。
注意
Azure 防火墙必须具有直接的 Internet 连接。 如果 AzureFirewallSubnet 知道通过 BGP 的本地网络的默认路由,则必须将其替代为 0.0.0.0/0 UDR,将 NextHopType 值设置为 Internet 以保持 Internet 直接连接 。
可将 Azure 防火墙配置为支持强制隧道。 有关详细信息,请参阅 Azure 防火墙强制隧道。
注意
即使 UDR 指向作为默认网关的 Azure 防火墙,也会直接路由直接对等互连 VNet 之间的流量。 若要在此方案中将子网到子网流量发送到防火墙,UDR 必须在这两个子网上显式地包含目标子网网络前缀。
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
创建防火墙策略
登录 Azure 门户。
在 Azure 门户搜索栏中,键入“防火墙管理器”并按 Enter。
在“Azure 防火墙管理器”页上的“安全性”下,选择“Azure 防火墙策略”。
选择“创建 Azure 防火墙策略”。
选择你的订阅,为“资源组”选择“新建”,并创建名为 FW-Hybrid-Test 的资源组。
键入 Pol-Net01 作为策略名称。
对于“区域”,请选择“美国东部”。
选择“下一步: DNS 设置”。
选择“下一步:TLS 检查”
选择“下一步:规则”。
选择“添加规则集合”。
对于“名称”,请键入 RCNet01。
对于“规则集合类型”,请选择“网络”。
对于“优先级”,请键入 100。
对于“操作”,请选择“允许”。
在“规则”下,为“名称”键入 AllowWeb。
对于源,请键入 192.168.1.0/24。
对于“协议”,请选择“TCP”。
对于“目标端口”,请键入 80。
对于“目标类型”,请选择“IP 地址”。
对于“目标”,请键入 10.6.0.0/16。
在下一规则行中输入以下信息:
名称:键入 AllowRDP
源:键入 192.168.1.0/24。
协议:选择“TCP”
目标端口:键入 3389
目标类型:选择“IP 地址”
目标:键入 10.6.0.0/16选择 添加 。
选择“查看 + 创建”。
检查详细信息,然后选择“创建”。
创建防火墙中心虚拟网络
注意
AzureFirewallSubnet 子网的大小为 /26。 有关子网大小的详细信息,请参阅 Azure 防火墙常见问题解答。
在 Azure 门户主页上,选择“创建资源”。
搜索“虚拟网络”,然后选择“虚拟网络”。
选择“创建”。
对于“订阅”,请选择自己的订阅。
对于“资源组”,请选择“FW-Hybrid-Test”。
对于“名称”,请键入 VNet-hub。
对于“区域”,请选择“美国东部”。
选择下一步。
在“安全性”上,选择“下一步”。
对于“IPv4 地址空间”,请键入 10.5.0.0/16。
在“子网”下,选择“默认值”。
对于“子网模板”,请选择“Azure 防火墙”。
对于“起始地址”,输入“10.5.0.0/26”。
接受其他默认设置,然后选择“保存”。
选择“查看 + 创建”。
选择“创建”。
添加另一个名为 GatewaySubnet 的子网,其地址空间为 10.5.1.0/27。 此子网用于 VPN 网关。
创建分支虚拟网络
- 在 Azure 门户主页上,选择“创建资源”。
- 搜索“虚拟网络”,然后选择“虚拟网络”。
- 选择“创建”。
- 对于“订阅”,请选择自己的订阅。
- 对于“资源组”,请选择“FW-Hybrid-Test”。
- 对于“名称”,请键入 VNet-Spoke。
- 对于“区域”,请选择“美国东部”。
- 选择下一步。
- 在“安全性”页上,选择“下一步”。
- 选择“下一步: IP 地址”。
- 对于“IPv4 地址空间”,请键入“10.6.0.0/16” 。
- 在“子网”下,选择“默认值”。
- 将“名称”更改为“SN-Workload”。
- 对于“起始地址”,输入“10.6.0.0/24”。
- 接受其他默认设置,然后选择“保存”。
- 选择“查看 + 创建”。
- 选择“创建”。
创建本地虚拟网络
在 Azure 门户主页上,选择“创建资源”。
搜索“虚拟网络”,然后选择“虚拟网络”。
选择“创建”。
对于“订阅”,请选择自己的订阅。
对于“资源组”,请选择“FW-Hybrid-Test”。
对于“虚拟网络名称”,请键入“VNet-OnPrem”。
对于“区域”,请选择“美国东部”。
选择下一步。
在“安全性”页上,选择“下一步”。
对于“IPv4 地址空间”,请键入“192.168.0.0/16” 。
在“子网”下,选择“默认值”。
将“名称”更改为 SN-Corp。
对于“起始地址”,输入“192.168.1.0/24”。
接受其他默认设置,然后选择“保存”。
选择“添加子网”。
对于“子网模板”,请选择“虚拟网络网关”。
对于“起始地址”,输入“192.168.2.0/27”。
选择添加。
选择“查看 + 创建” 。
选择“创建”。
配置和部署防火墙
安全策略在与中心关联后,将称作“中心虚拟网络”。
将 VNet-Hub 虚拟网络转换为中心虚拟网络,并使用 Azure 防火墙对其进行保护。
在 Azure 门户搜索栏中,键入“防火墙管理器”并按 Enter。
在右窗格中,选择“概述”。
在“Azure 防火墙管理器”页上的“向虚拟网络添加安全性”下,选择“查看中心虚拟网络”。
在“虚拟网络”下,选中“VNet-hub”对应的复选框。
选择“管理安全性”,然后选择“部署具有防火墙策略的防火墙”。
在“转换虚拟网络”页上的“Azure 防火墙层”下,选择“高级”。 在“防火墙策略”下,选中“Pol-Net01”的复选框。
选择“下一步: 查看 + 确认”
检查详细信息,然后选择“确认”。
部署过程需要花费几分钟时间。
部署完成后,转到“FW-Hybrid-Test”资源组,然后选择防火墙。
请注意“概述”页上的“防火墙专用 IP 地址”。 稍后在创建默认路由时需要用到它。
创建并连接 VPN 网关
通过 VPN 网关连接中心和本地虚拟网络。
为中心虚拟网络创建 VPN 网关
现在,为中心虚拟网络创建 VPN 网关。 网络到网络配置需要 RouteBased VpnType。 创建 VPN 网关通常需要 45 分钟或更长时间,具体取决于所选 VPN 网关的 SKU。
- 在 Azure 门户主页上,选择“创建资源”。
- 在搜索文本框中,键入“虚拟网络网关”并按 Enter。
- 依次选择“虚拟网络网关”、“创建”。
- 对于“名称”,请键入 GW-hub。
- 对于“区域”,请选择“(US)美国东部”。
- 对于“网关类型”,请选择“VPN”。
- 对于“VPN 类型”,请选择“基于路由”。
- 对于“SKU”,选择“VpnGw2”。
- 为“代系”选择“第 2 代”。
- 对于“虚拟网络”,请选择“VNet-hub”。
- 对于“公共 IP 地址”,请选择“新建”,然后键入 VNet-hub-GW-pip 作为名称。
- 对于“启用主动-主动模式”,选择“已禁用”。
- 接受剩余的默认值,然后选择“查看 + 创建”。
- 检查配置,然后选择“创建”。
为本地虚拟网络创建 VPN 网关
现在,为本地虚拟网络创建 VPN 网关。 网络到网络配置需要 RouteBased VpnType。 创建 VPN 网关通常需要 45 分钟或更长时间,具体取决于所选 VPN 网关的 SKU。
- 在 Azure 门户主页上,选择“创建资源”。
- 在搜索文本框中,键入“虚拟网络网关”并按 Enter。
- 依次选择“虚拟网络网关”、“创建”。
- 对于“名称”,请键入 GW-Onprem。
- 对于“区域”,请选择“(US)美国东部”。
- 对于“网关类型”,请选择“VPN”。
- 对于“VPN 类型”,请选择“基于路由”。
- 对于“SKU”,选择“VpnGw2”。
- 为“代系”选择“第 2 代”。
- 对于“虚拟网络”,请选择“VNet-Onprem”。
- 对于“公共 IP 地址”,请选择“新建”,然后键入 VNet-Onprem-GW-pip 作为名称。
- 对于“启用主动-主动模式”,选择“已禁用”。
- 接受剩余的默认值,然后选择“查看 + 创建”。
- 检查配置,然后选择“创建”。
创建 VPN 连接
现在,可在中心与本地网关之间创建 VPN 连接。
此步骤创建从中心虚拟网络到本地虚拟网络的连接。 示例中引用了一个共享密钥。 可以对共享密钥使用自己的值。 共享密钥必须与两个连接匹配,这一点非常重要。 创建连接需要花费一段时间。
- 打开“FW-Hybrid-Test”资源组并选择“GW-hub”网关。
- 在左栏中选择“连接”。
- 选择 添加 。
- 键入 Hub-to-Onprem 作为连接名称。
- 选择“VNet 到 VNet”作为“连接类型”。
- 选择“下一步:设置”。
- 对于“第一虚拟网络网关”,请选择“GW-hub”。
- 对于“第二个虚拟网络网关”,请选择“GW-Onprem”。
- 对于“共享密钥(PSK)”,请键入 AzureA1b2C3。
- 选择“查看 + 创建”。
- 选择“创建”。
创建本地到中心虚拟网络连接。 此步骤类似于前一步骤,但这次是创建从 VNet-Onprem 到 VNet-hub 的连接。 确保共享密钥匹配。 几分钟后会建立连接。
- 打开“FW-Hybrid-Test”资源组并选择“GW-Onprem”网关。
- 在左栏中选择“连接”。
- 选择 添加 。
- 对于“连接名称”,请键入“Onprem-to-Hub”。
- 选择“VNet 到 VNet”作为“连接类型”。
- 对于“第二个虚拟网络网关”,请选择“GW-hub”。
- 对于“共享密钥(PSK)”,请键入 AzureA1b2C3。
- 选择“确定” 。
验证连接
大约五分钟后,这两个连接的状态应显示为“已连接”。
将中心和分支虚拟网络对等互连
现在,将中心和分支虚拟网络对等互连。
打开“FW-Hybrid-Test”资源组并选择“VNet-hub”虚拟网络。
在左栏中选择“对等互连”。
选择 添加 。
在“此虚拟网络”下:
设置名称 值 对等互连链接名称 HubtoSpoke 允许流向远程虚拟网络的流量 已选定 允许从远程虚拟网络转发的流量(允许网关传输) 已选定 使用远程虚拟网络网关或路由服务器 未选中 在“远程虚拟网络”下:
设置名称 值 对等互连链接名称 SpoketoHub 虚拟网络部署模型 资源管理器 订阅 <订阅> 虚拟网络 VNet-Spoke 允许流向当前虚拟网络的流量 已选定 允许从当前虚拟网络转发的流量(允许网关传输) 已选定 使用当前虚拟网络网关或路由服务器 已选定 选择添加。
创建路由
接下来创建一对路由:
- 通过防火墙 IP 地址从中心网关子网连接到分支子网的路由
- 通过防火墙 IP 地址从分支子网连接的默认路由
- 在 Azure 门户主页上,选择“创建资源”。
- 在搜索文本框中,键入“路由表”并按 Enter。
- 选择“路由表”。
- 选择“创建”。
- 选择“FW-Hybrid-Test”作为资源组。
- 对于“区域”,请选择“美国东部”。
- 对于“名称”,请键入 UDR-Hub-Spoke。
- 选择“查看 + 创建” 。
- 选择“创建”。
- 创建路由表后,请选择它以打开路由表页。
- 在左栏中选择“路由”。
- 选择 添加 。
- 键入 ToSpoke 作为路由名称。
- 对于“目标类型”,请选择“IP 地址”。
- 对于“目标 IP 地址/CIDR 范围”,键入 10.6.0.0/16。
- 选择“虚拟设备”作为下一跃点类型。
- 键入前面记下的防火墙专用 IP 地址作为下一跃点地址。
- 选择 添加 。
现在,将路由关联到子网。
- 在“UDR-Hub-Spoke - 路由”页上,选择“子网”。
- 选择“关联”。
- 在“虚拟网络”下,选择“VNet-hub”。
- 在“子网”下,选择“GatewaySubnet”。
- 选择“确定”。
现在,创建从辐射子网的默认路由。
- 在 Azure 门户主页上,选择“创建资源”。
- 在搜索文本框中,键入“路由表”并按 Enter。
- 选择“路由表”。
- 选择“创建”。
- 选择“FW-Hybrid-Test”作为资源组。
- 对于“区域”,请选择“美国东部”。
- 键入 UDR-DG 作为名称。
- 对于“传播网关路由”,请选择“否” 。
- 选择“查看 + 创建”。
- 选择“创建”。
- 创建路由表后,请选择它以打开路由表页。
- 在左栏中选择“路由”。
- 选择 添加 。
- 键入“ToHub”作为路由名称。
- 对于“目标类型”,请选择“IP 地址”
- 对于“目标 IP 地址/CIDR 范围”,键入 0.0.0.0/0。
- 选择“虚拟设备”作为下一跃点类型。
- 键入前面记下的防火墙专用 IP 地址作为下一跃点地址。
- 选择 添加 。
现在,将路由关联到子网。
- 在“UDR-DG - 路由”页上,选择“子网”。
- 选择“关联”。
- 在“虚拟网络”下,选择“VNet-spoke”。
- 在“子网”下,选择“SN-Workload”。
- 选择“确定”。
创建虚拟机
现在,创建分支工作负荷与本地虚拟机,并将其放入相应的子网。
创建工作负荷虚拟机
在分支虚拟网络中,创建运行 IIS 且不使用公共 IP 地址的虚拟机。
在 Azure 门户主页上,选择“创建资源”。
在“热门市场产品”下,选择“Windows Server 2019 Datacenter”。
输入虚拟机的以下值:
- 资源组 - 选择“FW-Hybrid-Test”
- 虚拟机名称:VM-Spoke-01
- 区域 - (美国)美国东部
- 用户名:键入用户名
- 密码:键入密码。
对“公共入站端口”,请选择“允许所选端口”,然后选择“HTTP (80)”和“RDP (3389)”。
选择“下一步:磁盘” 。
接受默认设置,然后选择“下一步:网络”。
选择“VNet-Spoke”作为虚拟网络;子网为“SN-Workload”。
选择“下一步: 管理”。
选择“下一步: 监视”。
对于“启动诊断”,请选择“禁用” 。
选择“查看 + 创建”,查看摘要页上的设置,然后选择“创建”。
安装 IIS
在 Azure 门户中打开 Cloud Shell,确保它设置为“PowerShell”。
运行以下命令以在虚拟机上安装 IIS 并根据需要更改位置:
Set-AzVMExtension ` -ResourceGroupName FW-Hybrid-Test ` -ExtensionName IIS ` -VMName VM-Spoke-01 ` -Publisher Microsoft.Compute ` -ExtensionType CustomScriptExtension ` -TypeHandlerVersion 1.4 ` -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' ` -Location EastUS
创建本地虚拟机
你将使用此虚拟机通过远程桌面连接到公共 IP 地址。 然后,请在该虚拟机中通过防火墙连接到本地服务器。
在 Azure 门户主页上,选择“创建资源”。
在“常用”下,选择“Windows Server 2019 Datacenter”。
输入虚拟机的以下值:
- 资源组 - 选择现有资源组,然后选择“FW-Hybrid-Test”
- 虚拟机名称 - VM-Onprem
- 区域 - (美国)美国东部
- 用户名:键入用户名
- 密码:键入密码
对“公共入站端口”,请选择“允许所选端口”,然后选择“RDP (3389)”。
选择“下一步:磁盘” 。
接受默认值,然后选择“下一步: 网络”。
选择“VNet-Onprem”作为虚拟网络,并确认子网为“SN-Corp”。
选择“下一步: 管理”。
选择“下一步: 监视”。
对于“启动诊断”,请选择“禁用” 。
选择“查看 + 创建”,查看摘要页上的设置,然后选择“创建”。
测试防火墙
首先,请注意 VM-Spoke-01“概述”页上 VM-Spoke-01 虚拟机的专用 IP 地址。
在 Azure 门户中,连接到 VM-Onprem 虚拟机。
在 VM-Onprem 上打开 Web 浏览器并浏览到 http://<VM-spoke-01 的专用 IP>。
你会看到 VM-spoke-01 网页:
在“VM-Onprem”虚拟机中,打开远程桌面并连接到 VM-spoke-01 的专用 IP 地址。
应可成功连接,并且可以登录。
现已验证防火墙规则可正常工作:
- 可以浏览分支虚拟网络中的 Web 服务器。
- 可以使用 RDP 连接到分支虚拟网络中的服务器。
接下来,将防火墙网络规则集合操作更改为“拒绝”,以验证防火墙规则是否按预期工作。
- 打开“FW-Hybrid-Test”资源组并选择“Pol-Net01”防火墙策略。
- 在“设置”下,选择“规则集合”。
- 选择“RCNet01”规则集合。
- 对于“规则集合操作”,请选择“拒绝”。
- 选择“保存”。
在测试已更改的规则之前,请关闭 VM-Onprem 上的所有现有远程桌面和浏览器。 规则集合更新完成后,再次运行测试。 这一次,远程桌面和浏览器应该都无法建立连接。
清理资源
可以保留防火墙资源以供进一步的调查。不再需要时,请删除 FW-Hybrid-Test 资源组,以删除与防火墙相关的所有资源。