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