教學課程:使用 Azure 入口網站在混合式網路中部署及設定 Azure 防火牆和原則
將內部部署網路連接到 Azure 虛擬網路來建立混合式網路時,控制對 Azure 網路資源的存取的能力,是整體安全計劃的重要組成部分。
您可以使用定義允許和拒絕網路流量的規則,在混合式網路中使用 Azure 防火牆和防火牆原則來控制網路存取。
在本教學課程中,您會建立三個虛擬網路:
- VNet-Hub - 防火牆位於此虛擬網路中。
- VNet-Spoke - 輪輻虛擬網路代表位於 Azure 的工作負載。
- VNet-Onprem - 內部部署虛擬網路代表內部部署網路。 在實際部署中,它可使用 VPN 或 ExpressRoute 連線來連線。 為了簡單起見,本教學課程使用 VPN 閘道連線,而位於 Azure 的虛擬網路用來代表內部部署網路。
在本教學課程中,您會了解如何:
- 建立防火牆中樞虛擬網路
- 建立輪輻虛擬網路
- 建立內部部署虛擬網路
- 設定及部署防火牆和原則
- 建立及連線 VPN 閘道
- 對等互連中樞與輪輻虛擬網路
- 建立路由
- 建立虛擬機器
- 測試防火牆
如果您想要改為使用 Azure PowerShell 來完成此程序,請參閱使用 Azure PowerShell 在混合式網路中部署和設定 Azure 防火牆。
必要條件
混合式網路會使用中樞和輪輻架構模型來路由傳送 Azure VNet 與內部部署網路之間的流量。 中樞和輪輻架構具有下列需求:
- 若要透過中樞防火牆路由傳送輪輻子網路流量,您可以使用使用者定義的路由 (UDR),其指向已停用 [虛擬網路閘道路由傳播] 選項的防火牆。 [虛擬網路閘道路由傳播] 選項停用時,會防止將路由散發到輪輻子網路。 這可防止已學習的路由與您的 UDR 衝突。 如果您想要將 [虛擬網路閘道路由傳播] 保留為啟用狀態,請務必定義防火牆的特定路由,以覆寫透過 BGP 從內部部署發佈的路由。
- 在中樞閘道子網路上設定可指向防火牆 IP 位址的 UDR,作為輪輻網路的下一個躍點。 Azure 防火牆子網路不需要任何 UDR,因為可從 BGP 得知路由。
請參閱本教學課程中的建立路由一節,了解如何建立這些路由。
注意
「Azure 防火牆」必須能夠直接連線到網際網路。 如果您的 AzureFirewallSubnet 學習到透過 BGP 連至您內部部署網路的預設路由,您必須將其覆寫為 0.0.0.0/0 UDR,且 NextHopType 值必須設為 [網際網路],以保有直接網際網路連線。
您可將 Azure 防火牆設定為支援強制通道。 如需詳細資訊,請參閱 Azure 防火牆強制通道。
注意
即使 UDR 指向「Azure 防火牆」作為預設閘道,系統仍會直接路由直接對等互連之 VNet 間的流量。 在此案例中若要將子網路對子網路流量傳送到防火牆,UDR 必須在這兩個子網路上同時明確包含目標子網路網路首碼。
如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
建立防火牆中樞虛擬網路
首先,建立資源群組,以包含本教學課程中的資源:
- 登入 Azure 入口網站。
- 在 Azure 入口網站首頁上,選取 [資源群組] > [建立]。
- 在 [訂閱] 的部分,選取您的訂閱。
- 在 [資源群組名稱] 中,輸入 FW-Hybrid-Test。
- 針對 [區域],選取 [(美國) 美國東部]。 您稍後建立的所有資源都必須位在相同的位置。
- 選取 [檢閱 + 建立] 。
- 選取 建立。
現在,請建立虛擬網路:
注意
AzureFirewallSubnet 子網路的大小是 /26。 如需有關子網路大小的詳細資訊,請參閱 Azure 防火牆的常見問題集。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在 [網路] 底下,選取 [虛擬網路]。
- 選取 建立。
- 在 [資源群組] 中,選取 FW-Hybrid-Test。
- 在 [名稱] 中,輸入 VNet-hub。
- 在 [安全性] 索引標籤上,選取 [下一步]。
- 針對 [IPv4 位址空間],輸入 10.5.0.0/16。
- 在 [子網路] 下,選取 [預設]。
- 針對 [子網路用途],選取 [Azure 防火牆]。
- 針對 [起始位址],輸入 10.5.0.0/26。
- 選取 [儲存]。
- 選取 [檢閱 + 建立]。
- 選取 建立。
現在,為閘道建立第二個子網路。
- 在 [VNet-hub] 頁面上,選取 [子網路]。
- 選取 [+ 子網路]。
- 針對 [子網路用途],選取 [虛擬網路閘道]。
- 在 [起始位址] 中,輸入 10.5.2.0/26。
- 選取 [新增]。
建立輪輻虛擬網路
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在 [網路] 中,選取 [虛擬網路]。
- 選取 建立。
- 在 [資源群組] 中,選取 FW-Hybrid-Test。
- 在 [名稱] 中,輸入 VNet-Spoke。
- 針對 [區域],選取 [(美國) 美國東部]。
- 選取 [下一步]。
- 在 [安全性] 索引標籤上,選取 [下一步]。
- 針對 [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。
- 選取 [儲存]。
- 選取 [檢閱 + 建立]。
- 選取 建立。
現在,為閘道建立第二個子網路。
- 在 [VNet-Onprem] 頁面上,選取 [子網路]。
- 選取 [+ 子網路]。
- 針對 [子網路用途],選取 [虛擬網路閘道]。
- 在 [起始位址] 中,輸入 192.168.2.0/24。
- 選取 [新增]。
設定及部署防火牆
現在將防火牆部署到防火牆中樞虛擬網路中。
從 Azure 入口網站首頁,選取 [建立資源]。
在左欄中,選取 [網路],搜尋並選取 [防火牆],然後選取 [建立]。
在 [建立防火牆] 頁面上,使用下表來設定防火牆:
設定 值 訂用帳戶 <訂用帳戶> 資源群組 FW-Hybrid-Test 名稱 AzFW01 區域 美國東部 防火牆層 標準 防火牆管理 使用防火牆原則管理此防火牆 防火牆原則 新增:
hybrid-test-pol
美國東部選擇虛擬網路 使用現有項目:
VNet-hub公用 IP 位址 新增:
fw-pip選取 [下一步:標籤]。
完成時,選取 [下一步:檢閱 + 建立]。
檢閱摘要,然後選取 [建立] 來建立防火牆。
部署需要幾分鐘的時間。
部署完成之後,請前往 FW-Hybrid-Test 資源群組,然後選取 AzFW01 防火牆。
請記下私人 IP 位址。 稍後當您建立預設路由時將使用到它。
設定網路規則
首先,新增網路規則以允許 Web 流量。
- 從 FW-Hybrid-Test 資源群組中,選取 hybrid-test-pol 防火牆原則。
- 在 [設定] 底下,選取 [網路規則]。
- 選取 [新增規則集合]。
- 在 [名稱] 中,輸入 RCNet01。
- 在 [優先順序] 中,輸入 100。
- [規則集合動作] 請選取 [允許]。
- 在 [規則] 底下的 [名稱] 中,輸入 AllowWeb。
- 針對 [來源類型],選取 [IP 位址]。
- 針對 [來源],輸入 192.168.1.0/24。
- 在 [通訊協定] 中,選取 [TCP]。
- 在 [目的地連接埠] 中,輸入 80。
- 針對 [目的地類型],選取 [IP 位址]。
- 針對 [目的地],輸入 10.6.0.0/16。
現在新增規則以允許 RDP 流量。
在第二個規則資料列上,輸入下列資訊:
- 在 [名稱] 中輸入 AllowRDP。
- 針對 [來源類型],選取 [IP 位址]。
- 針對 [來源],輸入 192.168.1.0/24。
- 在 [通訊協定] 中,選取 [TCP]。
- 在 [目的地連接埠] 中,輸入 3389。
- 針對 [目的地類型],選取 [IP 位址]。
- 針對 [目的地],輸入 10.6.0.0/16
- 選取 [新增]。
建立及連線 VPN 閘道
中樞和內部部署虛擬網路都是透過 VPN 閘道連線。
建立中樞虛擬網路的 VPN 閘道
現在建立中樞虛擬網路的 VPN 閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入虛擬網路閘道。
- 選取 [虛擬網路閘道],然後選取 [建立]。
- 在 [名稱] 中,輸入 GW-hub。
- 在 [區域] 中,選取您先前使用的相同區域。
- 在 [閘道類型] 中,選取 [VPN]。
- 針對 [SKU],選取 [VpnGw1]。
- 在 [虛擬網路] 中,選取 [VNet-hub]。
- 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-hub-GW-pip 作為名稱。
- 在 [第二個公用 IP 位址] 中,選取 [新建],然後輸入 VNet-hub-GW-pip2 作為名稱。
- 接受其餘的預設值,然後選取 [檢閱 + 建立]。
- 檢閱設定,然後選取 [建立]。
建立虛擬網路的 VPN 內部部署閘道
現在建立虛擬網路的 VPN 內部部署閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入輸入虛擬網路閘道,然後按 Enter。
- 選取 [虛擬網路閘道],然後選取 [建立]。
- 在 [名稱] 中,輸入 GW-Onprem。
- 在 [區域] 中,選取您先前使用的相同區域。
- 在 [閘道類型] 中,選取 [VPN]。
- 針對 [SKU],選取 [VpnGw1]。
- 在 [虛擬網路] 中,選取 [VNet-Onprem]。
- 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-Onprem-GW-pip 作為名稱。
- 在 [第二個公用 IP 位址] 中,選取 [新建],然後輸入 VNet-Onprem-GW-pip2 作為名稱。
- 接受其餘的預設值,然後選取 [檢閱 + 建立]。
- 檢閱設定,然後選取 [建立]。
建立 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-Onprem]。
- 在 [第二個虛擬網路閘道] 中,選取 [GW-hub]。
- 在 [共用金鑰 (PSK)] 中,輸入 AzureA1b2C3。
- 選取 [檢閱 + 建立]。
- 選取 建立。
驗證連線
大約五分鐘之後,這兩個連線的狀態應該是 [已連線]。
對等互連中樞與輪輻虛擬網路
現在對等互連中樞與輪輻虛擬網路。
開啟 FW-Hybrid-Test 資源群組,然後選取 VNet-hub 虛擬網路。
在左欄中選取 [對等互連]。
選取 [新增]。
在 [遠端虛擬網路摘要] 下:
在 [遠端虛擬網路摘要] 下:
設定名稱 值 對等互連連結名稱 SpoketoHub 虛擬網路部署模型 Resource Manager 訂用帳戶 <訂用帳戶> 虛擬網路 VNet-Spoke 允許 VNet-Spoke' 存取 'VNet-hub' 已選取 允許 'VNet-Spoke' 接收來自 'VNet-Hub' 的轉送流量 已選取 允許 'VNet-Spoke' 中的閘道或路由伺服器將流量轉送至 'VNet-Hub' 未選取 啟用 'VNet-Spoke' 以使用 'VNet-hub' 的遠端閘道或路由伺服器 已選取 在 [區域虛擬網路摘要] 下:
設定名稱 值 對等互連連結名稱 HubtoSpoke 允許 'VNet-hub' 存取 'VNet-Spoke' 已選取 允許 'VNet-hub' 接收來自 'VNet-Spoke' 的轉送流量 已選取 允許 'VNet-Hub' 中的閘道或路由伺服器將流量轉送至 'VNet-Spoke' 已選取 啟用 'VNet-hub' 以使用 '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 - Routes] 頁面上,選取 [子網路]。
- 選取 [+ 建立關聯]。
- 在 [虛擬網路] 之下,選取 [VNet-hub]。
- 在 [子網路] 之下,選取 [GatewaySubnet]。
- 選取 [確定]。
現在,從輪輻子網路中建立預設路由。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在搜尋文字方塊中,輸入路由表,然後按 Enter。
- 選取 [路由表]。
- 選取 建立。
- 選取 FW-Hybrid-Test作為資源群組。
- 針對 [區域],選取您先前使用的相同位置。
- 在 [名稱] 中,輸入 UDR-DG。
- 針對 [傳播閘道路由],選取 [否]。
- 選取 [檢閱 + 建立] 。
- 選取 建立。
- 建立路由表之後,請將其選取,以開啟 [路由表] 頁面。
- 選取左欄中的 [路由]。
- 選取 [新增]。
- 針對路由名稱,輸入 ToHub。
- 針對 [目的地類型],選取 [IP 位址]。
- 在 [目的地 IP 位址/CIDR 範圍] 中,輸入 [0.0.0.0/0]。
- 在 [下一個躍點類型] 中,選取 [虛擬設備]。
- 在 [下一個躍點位址] 中,輸入您先前記下的防火牆私人 IP 位址。
- 選取 [新增]。
現在將路由與子網建立關聯。
- 在 [UDR-DG - Routes] 頁面上,選取 [子網路]。
- 選取 [+ 建立關聯]。
- 在 [虛擬網路] 之下,選取 [VNet-spoke]。
- 在 [子網路] 之下,選取 [SN-Workload]。
- 選取 [確定]。
建立虛擬機器
現在建立輪輻工作負載和內部部署虛擬機器,並將它們放在適當的子網路中。
建立工作負載虛擬機器
在輪輻虛擬網路中建立虛擬機器,該虛擬機器會執行 IIS、沒有公用 IP 位址。
- 從 Azure 入口網站首頁,選取 [建立資源]。
- 在 [熱門 Marketplace 產品] 底下,選取 [Windows Server 2019 Datacenter]。
- 依虛擬機器輸入這些值:
- 資源群組 - 選取 FW-Hybrid-Test
- 虛擬機器名稱:VM-Spoke-01
- 區域 - 您先前使用的相同區域
- 使用者名稱:<輸入使用者名稱>
- 密碼:<輸入密碼>
- 在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [HTTP (80)] 和 [RDP (3389)]。
- 選取 [下一步:磁碟]。
- 接受預設值,然後選取 [下一步: 網路]。
- 選取 [VNet-Spoke] 作為虛擬網路,而子網路為 SN-Workload。
- 在 [公用 IP] 中,選取 [無]。
- 選取 [下一步:管理]。
- 選取 [下一步:監視]。
- 針對 [開機診斷],選取 [停用]。
- 選取 [檢閱+建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。
安裝 IIS
建立虛擬機器之後,安裝 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 入口網站首頁,選取 [建立資源]。
- 在 [熱門 Marketplace 產品] 底下,選取 [Windows Server 2019 Datacenter]。
- 依虛擬機器輸入這些值:
- [資源群組] - 選取 [使用現有的],然後選取 [FW-Hybrid-Test]。
- 虛擬機器名稱 - VM-Onprem。
- 區域 - 您先前使用的相同區域。
- [使用者名稱]:<輸入使用者名稱>。
- 密碼:<輸入使用者密碼>。
- 在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [RDP (3389)]
- 選取 [下一步:磁碟]。
- 接受預設值,然後選取 [下一步:網路]。
- 選取 [VNet-Onprem] 作為虛擬網路,而子網路為 SN-Corp。
- 選取 [下一步:管理]。
- 選取 [下一步:監視]。
- 針對 [開機診斷],選取 [停用]。
- 選取 [檢閱+建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。
注意
無論是未獲指派公用 IP 位址的 VM,或位於內部基本 Azure 負載平衡器後端集區的 VM,Azure 都會為其提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。
發生下列其中一個事件時,會停用預設輸出存取 IP:
- 公用 IP 位址會指派給 VM。
- 無論有沒有輸出規則,都會將 VM 放在標準負載平衡器的後端集區中。
- Azure NAT 閘道資源會指派給 VM 的子網路。
您在彈性協調流程模式中使用虛擬機器擴展集建立的 VM 沒有預設輸出存取。
如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 中的預設對外存取與針對輸出連線,使用來源網路位址轉譯 (SNAT)。
測試防火牆
首先,請記下 VM-spoke-01 虛擬機器的私人 IP 位址。
從 Azure 入口網站,連線到 VM-Onprem 虛擬機器。
在 VM-Onprem 上開啟網頁瀏覽器,並瀏覽至 http://<VM-spoke-01 private IP>。
您應該會看到 VM-spoke-01 網頁:
從 VM-Onprem 虛擬機器中,針對位於私人 IP 位址的 VM-spoke-01 開啟遠端桌面。
您的連線應會成功,而且應該能夠登入。
現在您已驗證防火牆規則正在運作:
- 您可以瀏覽輪輻虛擬網路上的網頁伺服器。
- 您可以使用 RDP 連線到輪輻虛擬網路上的伺服器。
接下來,將防火牆網路規則集合動作變更為 [拒絕],確認防火牆規則會如預期般運作。
- 選取 hybrid-test-pol 防火牆原則。
- 選取 [規則集合]。
- 選取 RCNet01 規則集合。
- 針對 [規則集合動作],選取 [拒絕]。
- 選取 [儲存]。
在測試已變更的規則之前,請關閉任何現有的遠端桌面。 現在再次執行測試。 這次所有測試應該都會失敗。
清除資源
您可以保留防火牆資源供下一個教學課程使用,若不再需要,則可刪除 FW-Hybrid-Test 資源群組來刪除所有防火牆相關資源。