全球和区域级网络防火墙政策示例

本页面展示了全球网络防火墙政策和区域级网络防火墙政策实现的示例。本文假定您熟悉全球网络防火墙政策区域级网络防火墙政策中所述的概念。

您可以将一个全球网络防火墙政策和多个区域级网络防火墙政策关联到一个 Virtual Private Cloud (VPC) 网络。全球网络防火墙政策适用于 VPC 网络所有区域中的所有子网。区域级网络防火墙政策仅适用于目标区域中 VPC 网络的子网。

图 1 描述了 VPC 网络中全球网络防火墙政策和区域级网络防火墙政策的范围。

图 1. 全球和区域级网络防火墙政策的范围。
图 1. 全球和区域级网络防火墙政策的范围。

示例:拒绝除特定端口之外的所有外部连接

在此应用场景中,全球网络防火墙政策会阻止来自外部互联网来源的所有连接,但目标端口 8044322 上的连接除外。8044322 以外的端口上的入站互联网连接会被阻止。对于端口 8044322 上的任何连接,规则强制执行被委派给区域级网络防火墙政策。

在此示例中,区域级网络防火墙政策适用于 region-a,它允许来自来源 10.2.0.0/16 的内部流量和从任何来源到端口 44380 的入站流量。图 2 介绍了此应用场景的配置设置。

图 2. 拒绝除特定目标端口之外的所有外部连接。
图 2. 拒绝除特定目标端口之外的所有外部连接。

在虚拟机中应用的有效政策

本部分介绍了评估层次结构中的规则后,本示例中适用的有效网络防火墙政策。

入站连接

  • 来自 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. 将政策与 VPC 网络关联:

    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. 将区域级网络防火墙政策与 VPC 网络关联,以便为特定区域内该网络中的任何虚拟机激活政策规则:

    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
    

后续步骤