全域和區域網路防火牆政策範例

本頁面提供全域網路防火牆政策和區域網路防火牆政策的實作範例。本文假設您已熟悉全域網路防火牆政策區域網路防火牆政策中說明的概念。

您可以將一項全域網路防火牆政策和多項區域網路防火牆政策,附加至虛擬私有雲 (VPC) 網路。全域網路防火牆政策會套用至虛擬私有雲網路所有區域中的所有子網路。區域網路防火牆政策只會套用至目標區域中虛擬私有雲網路的子網路。

圖 1 說明虛擬私有雲網路中,全域網路防火牆政策和區域網路防火牆政策的適用範圍。

圖 1. 全域和區域網路防火牆政策的適用範圍。
圖 1. 全域和區域網路防火牆政策的適用範圍。

範例:拒絕所有外部連線,但特定通訊埠除外

在這個用途中,全域網路防火牆政策會封鎖來自外部網際網路來源的所有連線,但目的地連接埠 8044322 上的連線除外。系統會封鎖通訊埠 8044322 以外的輸入網際網路連線。系統會將規則強制執行作業委派給區域網路防火牆政策,以處理通訊埠 8044322 上的任何連線。

在這個範例中,區域網路防火牆政策會套用至 region-a,允許來自來源 10.2.0.0/16 的內部流量,以及來自任何來源且連入通訊埠 44380 的流量。圖 2 說明這個用途的設定。

圖 2:拒絕所有外部連線,但允許連至特定目的地通訊埠。
圖 2. 除了特定目的地通訊埠以外,拒絕所有外部連線。

在 VM 中套用的有效政策

本節說明評估階層中的規則後,適用於這個範例的有效網路防火牆政策。

輸入連線

  • 來自 10.0.0.0/8 的任何輸入連線都會符合優先順序最高的全域網路防火牆政策規則 delegate-internal-traffic,並略過全域網路防火牆政策中的其餘規則。在區域網路防火牆政策規則中,系統會允許來自 10.2.0.0/16 的輸入連線,並根據隱含的輸入 deny 規則評估其餘連線。

  • 來源 IP 範圍不是 10.0.0.0/8,且目的地通訊埠為 2280443 的連入連線,會委派給區域網路防火牆政策規則層級。在區域網路防火牆政策規則中,允許通訊埠 80443,但不允許通訊埠 22

輸出連線

  • 全域網路防火牆政策規則不符。因此,系統會套用默示規則,允許輸出連線。

設定操作說明

  1. 建立全域網路防火牆政策,其中包含下列規則:

    gcloud compute network-firewall-policies create \
        "example-firewall-policy-global" --global \
        --description "Global network firewall policy with rules that apply to all VMs in the VPC network"
    
  2. 將政策連結至虛擬私有雲網路:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy example-firewall-policy-global \
        --network my-example-vpc \
        --global-firewall-policy
    
  3. 新增規則,比對來自 10.0.0.0/8 的任何連入連線:

    gcloud compute network-firewall-policies rules create 1000 \
        --action goto_next \
        --description "delegate-internal-traffic" \
        --layer4-configs all \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 10.0.0.0/8 \
        --global-firewall-policy
    
  4. 新增規則,從特定通訊埠委派外部流量:

    gcloud compute network-firewall-policies rules create 2000 \
        --action goto_next \
        --description "delegate-external-traffic-spec-ports" \
        --layer4-configs tcp:80,tcp:443,tcp:22 \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 0.0.0.0/0 \
        --global-firewall-policy
    
  5. 新增規則,封鎖所有剩餘的輸入流量:

    gcloud compute network-firewall-policies rules create 3000 \
        --action deny \
        --description "block-external-traffic-spec-ports" \
        --firewall-policy example-firewall-policy-global \
        --src-ip-ranges 0.0.0.0/0 \
        --layer4-configs all \
        --global-firewall-policy
    
  6. 建立區域網路防火牆政策:

    gcloud compute network-firewall-policies create \
        example-firewall-policy-regional --region=region-a \
        --description "Regional network firewall policy with rules that apply to all VMs in region-a"
    
  7. 將區域網路防火牆政策與虛擬私有雲網路建立關聯,即可為特定區域內該網路中的所有 VM 啟用政策規則:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy example-firewall-policy-regional \
        --network my-example-vpc \
        --firewall-policy-region=region-a  
    
  8. 新增規則,允許區域網路防火牆政策的內部流量:

    gcloud compute network-firewall-policies rules create 1000 \
        --action allow \
        --firewall-policy example-firewall-policy-regional \
        --description allow-internal-traffic \
        --direction INGRESS \
        --src-ip-ranges 10.2.0.0/16 \
        --layer4-configs all \
        --firewall-policy-region=region-a 
    
  9. 新增規則,允許特定通訊埠的外部流量:

    gcloud compute network-firewall-policies rules create 2000 \
        --action allow \
        --firewall-policy example-firewall-policy-regional \
        --description allow-external-traffic-spec-ports \
        --direction INGRESS \
        --layer4-configs=tcp:80,tcp:443 \
        --src-ip-ranges 0.0.0.0/0 \
        --firewall-policy-region=region-a
    

後續步驟