使用 Azure 入口網站在混合式網路中部署及設定 Azure 防火牆

當您將內部部署網路連線到 Azure 虛擬網路以建立混合式網路時,控制 Azure 網路資源存取的能力是整體安全性計劃的重要部分。

您可以使用定義允許和拒絕網路流量的規則,在混合式網路中使用 Azure 防火牆來控制網路存取。

在本文中,您會建立三個虛擬網路:

  • VNet-Hub - 防火牆位於此虛擬網路中。
  • VNet-Spoke - 輪輻虛擬網路代表位於 Azure 的工作負載。
  • VNet-Onprem - 內部部署虛擬網路代表內部部署網路。 在實際部署中,它可經由 VPN 或 ExpressRoute 連線來連線。 為了簡單起見,本程序使用 VPN 網路閘道連線,而位於 Azure 的虛擬網路用來代表內部部署網路。

混合式網路中的防火牆

在本文中,您將學會如何:

  • 建立防火牆中樞虛擬網路
  • 建立輪輻虛擬網路
  • 建立內部部署虛擬網路
  • 設定及部署防火牆
  • 建立及連線 VPN 閘道
  • 對等互連中樞與輪輻虛擬網路
  • 建立路由
  • 建立虛擬機器
  • 測試防火牆

如果您想要改為使用 Azure PowerShell 來完成此程序,請參閱使用 Azure PowerShell 在混合式網路中部署和設定 Azure 防火牆

注意

本文使用傳統防火牆規則來管理防火牆。 慣用方法為使用防火牆原則。 若要使用防火牆原則完成此程序,請參閱教學課程:使用 Azure 入口網站在混合式網路中部署和設定 Azure 防火牆和原則

必要條件

混合式網路會使用中樞和輪輻架構模型來路由傳送 Azure VNet 與內部部署網路之間的流量。 中樞和輪輻架構具有下列需求:

  • 將 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 值必須設為 [網際網路],以保有直接網際網路連線。

您可將 Azure 防火牆設定為支援強制通道。 如需詳細資訊,請參閱 Azure 防火牆強制通道

注意

即使 UDR 指向「Azure 防火牆」作為預設閘道,系統仍會直接路由直接對等互連之 VNet 間的流量。 在此案例中若要將子網路對子網路流量傳送到防火牆,UDR 必須在這兩個子網路上同時明確包含目標子網路網路首碼。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

建立防火牆中樞虛擬網路

先建立資源群組,以包含資源:

  1. https://portal.azure.com 登入 Azure 入口網站。
  2. 在 Azure 入口網站首頁上,選取 [資源群組]>[新增]
  3. 在 [訂用帳戶] 中,選取您的訂用帳戶。
  4. 在 [資源群組名稱] 中,輸入 FW-Hybrid-Test
  5. 針對 [區域],選取 [(美國) 美國東部]。 您稍後建立的所有資源都必須位在相同的位置。
  6. 選取 [檢閱 + 建立]。
  7. 選取 [建立]。

現在,您可以開始建立 VNet:

注意

AzureFirewallSubnet 子網路的大小是 /26。 如需有關子網路大小的詳細資訊,請參閱 Azure 防火牆的常見問題集

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在 [網路] 底下,選取 [虛擬網路]
  3. 選取 [建立]。
  4. 在 [資源群組] 中,選取 FW-Hybrid-Test
  5. 在 [名稱] 中,輸入 VNet-hub
  6. 完成時,選取 [下一步:IP 位址]。
  7. 針對 IPv4 位址空間,刪除預設位址,並輸入 10.5.0.0/16
  8. 在 [子網路名稱] 下,選取 [新增子網路]。
  9. 針對 [子網路名稱],輸入 AzureFirewallSubnet。 防火牆會在此子網路中,且子網路名稱必須是 AzureFirewallSubnet。
  10. 針對 [子網路位址範圍],輸入 10.5.0.0/26
  11. 選取 [新增]。
  12. 選取 [檢閱 + 建立] 。
  13. 選取 [建立]。

建立輪輻虛擬網路

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在 [網路] 中,選取 [虛擬網路]。
  3. 在 [資源群組] 中,選取 FW-Hybrid-Test
  4. 在 [名稱] 中,輸入 VNet-Spoke
  5. 針對 [區域],選取 [(美國) 美國東部]。
  6. 完成時,選取 [下一步:IP 位址]。
  7. 針對 IPv4 位址空間,刪除預設位址,並輸入 10.6.0.0/16
  8. 在 [子網路名稱] 下,選取 [新增子網路]。
  9. 針對 [子網路名稱],輸入 SN-Workload
  10. 針對 [子網路位址範圍],輸入 10.6.0.0/24
  11. 選取 [新增]。
  12. 選取 [檢閱 + 建立] 。
  13. 選取 [建立]。

建立內部部署虛擬網路

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在 [網路] 中,選取 [虛擬網路]。
  3. 在 [資源群組] 中,選取 FW-Hybrid-Test
  4. 在 [名稱] 中,輸入 VNet-OnPrem
  5. 針對 [區域],選取 [(美國) 美國東部]。
  6. 選取 下一步:IP 位址
  7. 針對 IPv4 位址空間,刪除預設位址,並輸入 192.168.0.0/16
  8. 在 [子網路名稱] 下,選取 [新增子網路]。
  9. 針對 [子網路名稱],輸入 SN-Corp
  10. 針對 [子網路位址範圍],輸入 192.168.1.0/24
  11. 選取 [新增]。
  12. 選取 [檢閱 + 建立] 。
  13. 選取 [建立]。

現在,為閘道建立第二個子網路。

  1. 在 [VNet-Onprem] 頁面上,選取 [子網路]。
  2. 選取 [+ 子網路]。
  3. 在 [名稱] 中,輸入 GatewaySubnet
  4. 針對 [子網路位址範圍],輸入 192.168.2.0/24
  5. 選取 [確定]。

設定及部署防火牆

現在將防火牆部署到防火牆中樞虛擬網路中。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。

  2. 在左欄中,選取 [網路],然後搜尋並選取 [防火牆]。

  3. 在 [建立防火牆] 頁面上,使用下表來設定防火牆:

    設定
    訂用帳戶 <您的訂用帳戶>
    資源群組 FW-Hybrid-Test
    名稱 AzFW01
    區域 美國東部
    防火牆管理 使用防火牆規則 (傳統) 來管理此防火牆
    選擇虛擬網路 使用現有項目
    VNet-hub
    公用 IP 位址 新增:
    fw-pip
  4. 選取 [檢閱 + 建立]。

  5. 檢閱摘要,然後選取 [建立] 來建立防火牆。

    部署需要幾分鐘的時間。

  6. 部署完成之後,請前往 FW-Hybrid-Test 資源群組,然後選取 AzFW01 防火牆。

  7. 請記下私人 IP 位址。 稍後當您建立預設路由時將使用到它。

設定網路規則

首先,新增網路規則以允許 Web 流量。

  1. 在 [AzFW01] 頁面上,選取 [規則]
  2. 選取 [網路規則集合] 索引標籤。
  3. 選取 [新增網路規則集合]。
  4. 在 [名稱] 中,輸入 RCNet01
  5. 在 [優先順序] 中,輸入 100
  6. [規則集合動作] 請選取 [允許]。
  7. 在 [規則] 底下的 [名稱] 中,輸入 AllowWeb
  8. 針對 [來源類型],選取 [IP 位址]。
  9. 針對 [來源],輸入 192.168.1.0/24
  10. 在 [通訊協定] 中,選取 [TCP]。
  11. 在 [目的地連接埠] 中,輸入 80
  12. 針對 [目的地類型],選取 [IP 位址]。
  13. 針對 [目的地],輸入 10.6.0.0/16

現在新增規則以允許 RDP 流量。

在第二個規則資料列上,輸入下列資訊:

  1. 在 [名稱] 中輸入 AllowRDP
  2. 針對 [來源類型],選取 [IP 位址]。
  3. 針對 [來源],輸入 192.168.1.0/24
  4. 在 [通訊協定] 中,選取 [TCP]。
  5. 在 [目的地連接埠] 中,輸入 3389
  6. 針對 [目的地類型],選取 [IP 位址]。
  7. 針對 [目的地],輸入 10.6.0.0/16
  8. 選取 [新增]。

建立及連線 VPN 閘道

中樞和內部部署虛擬網路都是透過 VPN 閘道連線。

建立中樞虛擬網路的 VPN 閘道

現在建立中樞虛擬網路的 VPN 閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在搜尋文字方塊中,輸入虛擬網路閘道
  3. 選取 [虛擬網路閘道],然後選取 [建立]。
  4. 在 [名稱] 中,輸入 GW-hub
  5. 在 [區域] 中,選取您先前使用的相同區域。
  6. 在 [閘道類型] 中,選取 [VPN]。
  7. 在 [VPN 類型] 中,選取 [路由式]。
  8. 在 [SKU]中,選取 [基本]。
  9. 在 [虛擬網路] 中,選取 [VNet-hub]。
  10. 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-hub-GW-pip 作為名稱。
  11. 接受其餘的預設值,然後選取 [檢閱 + 建立]。
  12. 檢閱設定,然後選取 [建立]。

建立虛擬網路的 VPN 內部部署閘道

現在建立虛擬網路的 VPN 內部部署閘道。 網路對網路組態需要 RouteBased VpnType。 建立 VPN 閘道通常可能需要 45 分鐘或更久,視選取的 VPN 閘道 SKU 而定。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在搜尋文字方塊中,輸入輸入虛擬網路閘道,然後按 Enter
  3. 選取 [虛擬網路閘道],然後選取 [建立]。
  4. 在 [名稱] 中,輸入 GW-Onprem
  5. 在 [區域] 中,選取您先前使用的相同區域。
  6. 在 [閘道類型] 中,選取 [VPN]。
  7. 在 [VPN 類型] 中,選取 [路由式]。
  8. 在 [SKU]中,選取 [基本]。
  9. 在 [虛擬網路] 中,選取 [VNet-Onprem]。
  10. 在 [公用 IP 位址] 中,選取 [新建],然後輸入 VNet-Onprem-GW-pip 作為名稱。
  11. 接受其餘的預設值,然後選取 [檢閱 + 建立]。
  12. 檢閱設定,然後選取 [建立]。

建立 VPN 連線

您現在可以建立中樞與內部部署閘道之間的 VPN 連線。

在此步驟中,您會建立從中樞虛擬網路到內部部署虛擬網路的連線。 您會看到範例使用共用金鑰。 您可以使用自己的值,作為共用金鑰。 但請務必確認該共用金鑰必須適用於這兩個連線。 建立連線可能需要一段時間才能完成。

  1. 開啟 FW-Hybrid-Test 資源群組,然後選取 GW-hub 閘道。
  2. 選取左欄中的 [連線]。
  3. 選取 [新增]。
  4. 輸入 Hub-to-Onprem 作為連線名稱。
  5. 選取 [VNet 對 VNet] 作為 [連線類型]。
  6. 在 [第二個虛擬網路閘道] 中,選取 [GW-Onprem]。
  7. 在 [共用金鑰 (PSK)] 中,輸入 AzureA1b2C3
  8. 選取 [確定]。

建立內部部署對中樞虛擬網路連線。 此步驟類似前一個步驟,只不過您是建立 VNet-Onprem 到 VNet-hub 的連線。 請確認共用的金鑰相符。 稍候幾分鐘就會建立連線。

  1. 開啟 FW-Hybrid-Test 資源群組,然後選取 GW-Onprem 閘道。
  2. 選取左欄中的 [連線]。
  3. 選取 [新增]。
  4. 針對連線名稱,輸入 Onprem-to-Hub
  5. 選取 [VNet 對 VNet] 作為 [連線類型]。
  6. 在 [第二個虛擬網路閘道] 中,選取 [GW-hub]。
  7. 在 [共用金鑰 (PSK)] 中,輸入 AzureA1b2C3
  8. 選取 [確定]。

驗證連線

大約五分鐘之後,這兩個連線的狀態應該是 [已連線]。

閘道連線

對等互連中樞與輪輻虛擬網路

現在對等互連中樞與輪輻虛擬網路。

  1. 開啟 FW-Hybrid-Test 資源群組,然後選取 VNet-hub 虛擬網路。

  2. 在左欄中選取 [對等互連]。

  3. 選取 [新增]。

  4. 在 [此虛擬網路] 底下:

    設定名稱
    對等互連連結名稱 HubtoSpoke
    連到遠端虛擬網路的流量 允許 (預設)
    從遠端虛擬網路轉送的流量 允許 (預設)
    虛擬網路閘道 使用此虛擬網路的閘道
  5. 在 [遠端虛擬網路] 底下:

    設定名稱
    對等互連連結名稱 SpoketoHub
    虛擬網路部署模型 資源管理員
    訂用帳戶 <您的訂用帳戶>
    虛擬網路 VNet-Spoke
    連到遠端虛擬網路的流量 允許 (預設)
    從遠端虛擬網路轉送的流量 允許 (預設)
    虛擬網路閘道 使用遠端虛擬網路的閘道
  6. 選取 [新增]。

    Vnet 對等互連

建立路由

接下來,建立幾個路由:

  • 透過防火牆 IP 位址,從中樞閘道子網路到輪輻子網路的路由
  • 透過防火牆 IP 位址,從輪輻子網路開始的預設路由
  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在搜尋文字方塊中,輸入路由表,然後按 Enter
  3. 選取 [路由表]。
  4. 選取 [建立]。
  5. 選取 FW-Hybrid-Test作為資源群組。
  6. 針對 [區域] ,選取您先前使用的相同位置。
  7. 在 [名稱] 中,輸入 UDR-Hub-Spoke
  8. 選取 [檢閱 + 建立] 。
  9. 選取 [建立]。
  10. 建立路由表之後,請將其選取,以開啟 [路由表] 頁面。
  11. 選取左欄中的 [路由]。
  12. 選取 [新增]。
  13. 在 [路由名稱] 中,輸入 ToSpoke
  14. 在 [位址首碼] 中,輸入 10.6.0.0/16
  15. 在 [下一個躍點類型] 中,選取 [虛擬設備]。
  16. 在 [下一個躍點位址] 中,輸入您先前記下的防火牆私人 IP 位址。
  17. 選取 [確定]。

現在將路由與子網建立關聯。

  1. 在 [UDR-Hub-Spoke - Routes] 頁面上,選取 [子網路]。
  2. 選取 [關聯]。
  3. 在 [虛擬網路] 之下,選取 [VNet-hub]。
  4. 在 [子網路] 之下,選取 [GatewaySubnet]。
  5. 選取 [確定]。

現在,從輪輻子網路中建立預設路由。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在搜尋文字方塊中,輸入路由表,然後按 Enter
  3. 選取 [路由表]。
  4. 選取 [建立]。
  5. 選取 FW-Hybrid-Test作為資源群組。
  6. 針對 [區域] ,選取您先前使用的相同位置。
  7. 在 [名稱] 中,輸入 UDR-DG
  8. 針對 [傳播閘道路由],選取 [否]。
  9. 選取 [檢閱 + 建立] 。
  10. 選取 [建立]。
  11. 建立路由表之後,請將其選取,以開啟 [路由表] 頁面。
  12. 選取左欄中的 [路由]。
  13. 選取 [新增]。
  14. 針對路由名稱,輸入 ToHub
  15. 在 [位址首碼] 中,輸入 0.0.0.0/0
  16. 在 [下一個躍點類型] 中,選取 [虛擬設備]。
  17. 在 [下一個躍點位址] 中,輸入您先前記下的防火牆私人 IP 位址。
  18. 選取 [確定]。

現在將路由與子網建立關聯。

  1. 在 [UDR-DG - Routes] 頁面上,選取 [子網路]。
  2. 選取 [關聯]。
  3. 在 [虛擬網路] 之下,選取 [VNet-spoke]。
  4. 在 [子網路] 之下,選取 [SN-Workload]。
  5. 選取 [確定]。

建立虛擬機器

現在建立輪輻工作負載和內部部署虛擬機器,並將它們放在適當的子網路中。

建立工作負載虛擬機器

在輪輻虛擬網路中建立虛擬機器,該虛擬機器會執行 IIS、沒有公用 IP 位址。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在 [熱門] 底下,選取 [Windows Server 2016 Datacenter]。
  3. 依虛擬機器輸入這些值:
    • [資源群組] - 選取 FW-Hybrid-Test
    • 虛擬機器名稱:VM-Spoke-01。
    • 區域 - 您先前使用的相同區域。
    • [使用者名稱]:<輸入使用者名稱>。
    • 密碼:<輸入密碼>
  4. 在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [HTTP (80)] 和 [RDP (3389)]
  5. 選取 [下一步:磁碟]。
  6. 接受預設值,然後選取 [下一步:網路]。
  7. 選取 [VNet-Spoke] 作為虛擬網路,而子網路為 SN-Workload
  8. 在 [公用 IP] 中,選取 [無]。
  9. 選取 [下一步:管理]。
  10. 針對 [開機診斷],選取 [停用]。
  11. 選取 [檢閱+建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。

安裝 IIS

  1. 從 Azure 入口網站中開啟 Cloud Shell,並確定其已設定為 PowerShell

  2. 執行下列命令以在虛擬機器上安裝 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 位址。 從該處,您可透過防火牆接著連線到內部部署伺服器。

  1. 從 Azure 入口網站首頁,選取 [建立資源]。
  2. 在 [熱門] 底下,選取 [Windows Server 2016 Datacenter]。
  3. 依虛擬機器輸入這些值:
    • [資源群組] - 選取 [使用現有的],然後選取 [FW-Hybrid-Test]。
    • 虛擬機器名稱 - VM-Onprem。
    • 區域 - 您先前使用的相同區域。
    • [使用者名稱]:<輸入使用者名稱>。
    • 密碼:<輸入使用者密碼>。
  4. 在 [公用輸入連接埠] 中選取 [允許選取的連接埠],然後選取 [RDP (3389)]
  5. 選取 [下一步:磁碟]。
  6. 接受預設值,然後選取 [下一步:網路]。
  7. 選取 [VNet-Onprem] 作為虛擬網路,而子網路為 SN-Corp
  8. 選取 [下一步:管理]。
  9. 針對 [開機診斷],選取 [停用]。
  10. 選取 [檢閱+建立],檢閱 [摘要] 頁面上的設定,然後選取 [建立]。

注意

Azure 會針對未獲指派公用 IP 位址或位於內部基本 Azure Load Balancer 後端集區中的 VM,提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。

如需詳細資訊,請參閱 Azure 中的預設輸出存取

將公用 IP 位址指派給 VM 或將 VM 放置於 Standard Load Balancer 後端集區 (含有或不含輸出規則) 時,會停用預設輸出存取 IP。 如果 Azure 虛擬網路的網路位址轉譯 (NAT) 閘道資源已指派給虛擬機器的子網路,則會停用預設輸出存取 IP。

如果 VM 是由處於彈性協調流程模式的虛擬機器擴展集所建立,則不會有預設輸出存取。

如需 Azure 中輸出連線的詳細資訊,請參閱使用來源網路位址轉譯 (SNAT) 處理輸出連線

測試防火牆

  1. 首先,請記下 VM-spoke-01 虛擬機器的私人 IP 位址。

  2. 從 Azure 入口網站,連線到 VM-Onprem 虛擬機器。

  1. VM-Onprem 上開啟網頁瀏覽器,並瀏覽至 http://<VM-spoke-01 private IP>。

    您應該會看到 VM-spoke-01 網頁:VM-Spoke-01 網頁

  2. VM-Onprem 虛擬機器中,針對位於私人 IP 位址的 VM-spoke-01 開啟遠端桌面。

    您的連線應會成功,而且應該能夠登入。

因此,現在您已確認防火牆規則正在運作:

  • 您可以瀏覽輪輻虛擬網路上的網頁伺服器。
  • 您可以使用 RDP 連線到輪輻虛擬網路上的伺服器。

接下來,將防火牆網路規則集合動作變更為 [拒絕],確認防火牆規則會如預期般運作。

  1. 選取 AzFW01 防火牆。
  2. 選取 [規則]
  3. 選取 [網路規則集合] 索引標籤,然後選取 [RCNet01] 規則集合。
  4. 在 [動作] 中,選取 [拒絕]
  5. 選取 [儲存]。

在測試已變更的規則之前,請關閉任何現有的遠端桌面。 現在再次執行測試。 這次所有測試應該都會失敗。

清除資源

您可以保留防火牆資源供未來測試使用,若不再需要,則可刪除 FW-Hybrid-Test 資源群組以刪除所有防火牆相關資源。

後續步驟

接下來,您可以監視 Azure 防火牆記錄。

教學課程:監視 Azure 防火牆記錄