Codelab:搭配 PANW SSE 的 NCC 网关

1. 简介

概览

在本实验中,用户将探索 Network Connectivity Center (NCC) 如何利用 NCC 网关建立安全连接。用户将实现 Secure Access Connect 以集成第三方安全服务边缘 (SSE) 产品,从而对流量进行可靠的检查和保护。此配置提供基于网关的集中式模型,用于保护进出 Google Cloud 环境的流量,从而简化网络管理。

构建内容

在此 Codelab 中,您将使用 NCC hub 构建一个逻辑中心辐射型拓扑,以在三个不同的 VPC 之间实现全网状 VPC 连接结构。

学习内容

  • 混合检查拓扑
  • NCC 网关
  • Secure Access Connect
  • Palo Alto Network SSE

所需条件

  • 了解 GCP VPC 网络
  • 了解 Cloud Router 和 BGP 路由
  • 此 Codelab 需要 5 个 VPC。其中一个 VPC 必须位于与 NCC hub 不同的项目中
  • 检查您的配额:网络,并在需要时申请添加其他网络,如下面的屏幕截图所示:

6d1b99c6da87fd84.png

目标

  • 设置 GCP 环境
  • 为混合检查配置 Network Connectivity Center
  • 为 SSE 配置 Palo Alto Network Stratacloud Manager
  • 验证数据路径
  • 探索 NCC 可维护性功能
  • 清理已使用的资源

准备工作

Google Cloud 控制台和 Cloud Shell

在本实验中,我们将使用 Google Cloud 控制台和 Cloud Shell 与 GCP 进行交互。

NCC Hub 项目 Google Cloud 控制台

您可以通过 https://console.cloud.google.com 访问 Cloud 控制台。

在 Google Cloud 中设置以下各项,以便更轻松地配置 Network Connectivity Center:

在 Google Cloud Console 的“项目选择器”页面上,选择或创建一个 Google Cloud 项目。

注意:如果您不打算保留在此过程中创建的资源,请创建新的项目,而不要选择现有的项目。完成本教程介绍的步骤后,您可以删除所创建的项目,并移除与该项目关联的所有资源

启动 Cloud Shell。此 Codelab 使用了 $variables 来帮助在 Cloud Shell 中实现 gcloud 配置。

gcloud auth list
gcloud config list project
gcloud config set project [HUB-PROJECT-ID]
projectname=[HUB-PROJECT-ID]
echo $projectname
gcloud config set compute/zone us-central1-a
gcloud config set compute/region us-central1

IAM 角色

NCC 需要 IAM 角色才能访问特定 API。请务必根据需要为用户配置 NCC IAM 角色。

角色/说明

权限

networkconnectivity.editor - 允许网络管理员管理 Hub 和 Spoke。

networkconnectivity.hubs.networkconnectivity.spokes.networkconnectivity.gatewaynetworkconnectivity.locations.

networkconnectivity.HubAdmin- 拥有对 Hub 和 Spoke 资源的完整访问权限。

networkconnectivity.gatewayAdvertisedRoutes.networkconnectivity.groups. networkconnectivity.hubRouteTables.networkconnectivity.hubRoutes.networkconnectivity.hubs. networkconnectivity.locations. networkconnectivity.operations.* networkconnectivity.spokes.*resourcemanager.projects.getresourcemanager.projects.list

networkconnectivity.hubViewer - 拥有对 Hub 和 Spoke 资源的只读权限。

networkconnectivity.gatewayAdvertisedRoutes.getnetworkconnectivity.gatewayAdvertisedRoutes.listnetworkconnectivity.groups.getnetworkconnectivity.groups.getIamPolicynetworkconnectivity.groups.listnetworkconnectivity.hubRouteTables.getnetworkconnectivity.hubRouteTables.getIamPolicynetworkconnectivity.hubRouteTables.listnetworkconnectivity.hubRoutes.getnetworkconnectivity.hubRoutes.getIamPolicynetworkconnectivity.hubRoutes.listnetworkconnectivity.hubs.getnetworkconnectivity.hubs.getIamPolicynetworkconnectivity.hubs.listnetworkconnectivity.hubs.listSpokesnetworkconnectivity.hubs.queryStatus networkconnectivity.locations.*networkconnectivity.spokes.getnetworkconnectivity.spokes.getIamPolicynetworkconnectivity.spokes.listresourcemanager.projects.getresourcemanager.projects.list

2. 设置网络环境

在本部分中,我们将在单个项目中部署 VPC 网络和防火墙规则。此逻辑图展示了在此步骤中设置的网络环境。

1bdc7a5ed9b5a79c.png

创建 VPC 和子网

VPC 网络包含您将安装 GCE 虚拟机的子网,用于数据路径验证

gcloud compute networks create vpc1-ncc --subnet-mode custom
gcloud compute networks create vpc2-ncc --subnet-mode custom
gcloud compute networks create vpc3-ncc --subnet-mode custom
gcloud compute networks subnets create vpc1-ncc-subnet1 \
--network vpc1-ncc \
--range 10.1.1.0/24 \
--region us-central1

gcloud compute networks subnets create vpc2-ncc-subnet1 \
--network vpc2-ncc \
--range 10.1.2.0/24 \
--region us-central1

gcloud compute networks subnets create vpc3-ncc-subnet1 \
--network vpc3-ncc \
--range 10.1.3.0/24 \
--region us-central1

配置 VPC 防火墙规则

在每个 VPC 上配置防火墙规则以允许

  • SSH
  • 内部 IAP
  • 10.0.0.0/8 范围
gcloud compute firewall-rules create ncc1-vpc-internal \
--network vpc1-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc2-vpc-internal \
--network vpc2-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc3-vpc-internal \
--network vpc3-ncc \
--allow all \
--source-ranges 10.0.0.0/8

gcloud compute firewall-rules create ncc1-vpc-iap \
--network vpc1-ncc \
--allow all \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc2-vpc-iap \
--network vpc2-ncc \
--allow=tcp:22 \
--source-ranges 35.235.240.0/20

gcloud compute firewall-rules create ncc3-vpc-iap \
--network vpc3-ncc \
--allow=tcp:22  \
--source-ranges 35.235.240.0/20

在每个 VPC 中配置 GCE 虚拟机

您需要临时互联网访问权限才能在“vm1-vpc1-ncc”上安装软件包。

创建四个虚拟机,每个虚拟机都将分配给之前创建的某个 VPC。

gcloud compute instances create vm1-vpc1-ncc \
--subnet vpc1-ncc-subnet1 \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: vpc1-vm1</h3>" | tee /var/www/html/index.html'


gcloud compute instances create vm1-vpc2-ncc \
--zone us-central1-a \
--subnet vpc2-ncc-subnet1 \
--no-address \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: vpc2-vm2</h3>" | tee /var/www/html/index.html'

gcloud compute instances create vm1-vpc3-ncc \
--zone us-central1-a \
--subnet vpc3-ncc-subnet1 \
--no-address \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: vpc3-vm3</h3>" | tee /var/www/html/index.html'

3. NCC 混合检查拓扑

在本部分中,我们将部署 Network Connectivity Center Hub 以实现混合检查拓扑。NCC 混合检查拓扑实现了预设的 NCC spoke 政策,专门用于支持 NCC 网关。此逻辑图展示了在此步骤中设置的网络环境。

83c59356faadfea3.png

用于混合 spoke 检查的 NCC Hub

创建 NCC Hub 时,请使用“-preset-topology=hybrid-inspection”标志来创建四组 NCC spoke 类型。NCC 发言人分为四种类型,包括:

群组:网关

网关 Spoke 可作为区域入口点和出口点,供流量从本地或其他云进入 Google Cloud。它们通过 Palo Alto NetworksSymantec 等第三方 SSE 服务来促进流量检查。注意:在此拓扑中,只有此群组可以包含 NCC 网关 spoke

群组:服务

此群组充当共享资源的“枢纽”;此群组中的 spoke 可连接到所有其他 spoke 群组(生产、非生产和网关)。共享服务 VPC(例如,用于日志记录、身份验证、监控或常用工具)

群组:prod

使用情形:分配包含关键任务工作负载(虚拟机、GKE 集群)的生产应用 VPC。

群组:非生产

分配的资源:用于开发、测试或预演环境的非生产应用 VPC。

配置 NCC hub 以使用混合检查预设拓扑

gcloud beta network-connectivity hubs create cl-hi-hub \ --preset-topology=hybrid-inspection

输出示例

Create request issued for: [cl-hi-hub]
Waiting for operation [projects/"${projectname}"/locations/global/operations/operation-1759424304217-6402fe4a97da0-5de6
e5a1-2ea2de02] to complete...done.                                                                                 
Created hub [cl-hi-hub].

使用 gcloud 命令验证 NCC hub 的预设路由表:

gcloud network-connectivity hubs describe cl-hi-hub

输出示例

createTime: '2026-02-18T16:14:45.828597880Z'
exportPsc: false
name: projects/"${projectname}"/locations/global/hubs/cl-hi-hub
policyMode: PRESET
routeTables:
- projects/"${projectname}"/locations/global/hubs/cl-hi-hub/routeTables/gateways
- projects/"${projectname}"/locations/global/hubs/cl-hi-hub/routeTables/non-prod
- projects/"${projectname}"/locations/global/hubs/cl-hi-hub/routeTables/prod
- projects/"${projectname}"/locations/global/hubs/cl-hi-hub/routeTables/services
spokeSummary:
state: ACTIVE
uniqueId: c0fbb826-173b-42dd-a5d2-00c2aa66fed8
updateTime: '2026-04-21T19:13:50.269721594Z'

您可以将 NCC spoke 添加到群组,以应用流量政策。一个或多个 NCC spoke 只能属于一个群组。在此版本中,一种名为 HYBRID-INSPECTION 的特定预设拓扑引入了 4 个组:网关、生产、非生产和服务。

所有 NCC 网关资源(包括其混合连接)都属于网关群组。网关组中的 spoke 将能够相互通信,并且网关与其他 spoke 组之间的流量符合检查条件(具体取决于服务政策配置)。

NCC Spoke 组连接规则

来源组

可以访问(已允许)

无法访问(受限)

服务组

网关、生产、非生产、服务

产品组

网关、服务、提供方 spoke

非生产 spoke

非生产群组

网关、服务、非生产 spoke

prod spoke

网关组

网关、服务、生产、非生产

使用 gcloud 命令列出 NCC Hub 上的预设群组

gcloud network-connectivity hubs groups list --hub cl-hi-hub  --project "${projectname}"

输出示例

NAME      HUB        DESCRIPTION
gateways  cl-hi-hub
non-prod  cl-hi-hub
prod      cl-hi-hub
services  cl-hi-hub

在 Web 控制台中,依次前往“网络连接”>“Network Connectivity Center”> 选择“cl-hi-hub”以查看 NCC hub 配置

4acd63c7bd2dcb0a.png

作为 NCC 组 prod 中的 spoke 的工作负载 VPC2

使用 gcloud 命令将工作负载 VPC3 配置为(工作负载)spoke,并将该 spoke 分配给 group:prod

gcloud network-connectivity spokes linked-vpc-network create vpc2-sp \
--hub=cl-hi-hub \
--description=codelab-vpc2-ncc-spoke \
--vpc-network=vpc2-ncc \
--global \
--group=prod

输出示例

Create request issued for: [vpc2-sp]
Waiting for operation [projects/"${projectname}"/locations/global/operations/operation-1776966793852-650245286757a-766d806c-1bc4fabe] to complete...done.                         
Created spoke [vpc2-sp].
createTime: '2026-04-23T17:53:14.083783233Z'
description: codelab-vpc2-ncc-spoke
etag: '2'
group: projects/"${projectname}"/locations/global/hubs/cl-hi-hub/groups/prod
hub: projects/"${projectname}"/locations/global/hubs/cl-hi-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/"${projectname}"/global/networks/vpc-ncc2
name: projects/"${projectname}"/locations/global/spokes/vpc2-sp
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 92972784-e4ed-47e5-be22-08a516a39b0c
updateTime: '2026-04-23T17:53:55.029481722Z'

使用以下 gcloud 命令,查看 NCC Hub 的“prod”路由表中的前缀。

gcloud network-connectivity hubs route-tables routes list --hub=cl-hi-hub --route_table=prod

输出示例

IP_CIDR_RANGE: 10.1.2.0/24
PRIORITY: 
LOCATION: us-central1
STATE: ACTIVE
TYPE: VPC_PRIMARY_SUBNET
SITE_TO_SITE: N/A
NEXT_HOP: vpc2-ncc
HUB: cl-hi-hub
ROUTE_TABLE: prod

将工作负载 VPC3 配置为 NCC 组:非生产环境中的 spoke

使用 gcloud 命令将工作负载 VPC3 配置为(工作负载)spoke,并将该 spoke 分配给 group:non-prod

gcloud network-connectivity spokes linked-vpc-network create vpc3-sp \
--hub=cl-hi-hub \
--description=codelab-vpc3-ncc-spoke \
--vpc-network=vpc3-ncc \
--global \
--group=non-prod

输出示例

Create request issued for: [vpc3-sp]
Waiting for operation [projects/cloudnet-demo/locations/global/operations/operation-1778757016454-651c5241b83fe-18b62f78-02d70f9a] to complete...done.                                                                  
Created spoke [vpc3-sp].
createTime: '2026-05-14T11:10:16.758117151Z'
description: codelab-vpc3-ncc-spoke
etag: '2'
group: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub/groups/non-prod
hub: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/cloudnet-demo/global/networks/vpc3-ncc
name: projects/cloudnet-demo/locations/global/spokes/vpc3-sp
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: efe8cfed-d77f-4636-aaae-898e73897b49
updateTime: '2026-05-14T11:10:52.880508489Z'

使用以下 gcloud 命令,查看 NCC Hub 的“prod”路由表中的前缀。

gcloud network-connectivity hubs route-tables routes list --hub=cl-hi-hub --route_table=prod

输出示例

IP_CIDR_RANGE: 10.1.2.0/24
PRIORITY: 
LOCATION: us-central1
STATE: ACTIVE
TYPE: VPC_PRIMARY_SUBNET
SITE_TO_SITE: N/A
NEXT_HOP: vpc2-ncc
HUB: cl-hi-hub
ROUTE_TABLE: prod

将工作负载 VPC1 配置为 NCC 组“services”中的 spoke

使用 gcloud 命令将工作负载 VPC1 配置为(工作负载)spoke,并将该 spoke 分配给 group:services

gcloud network-connectivity spokes linked-vpc-network create vpc1-sp \
--hub=cl-hi-hub \
--description=codelab-vpc1-ncc-spoke \
--vpc-network=vpc1-ncc \
--global \
--group=services

输出示例

Create request issued for: [vpc1-sp]
Waiting for operation [projects/cloudnet-demo/locations/global/operations/operation-1778758397065-651c57665f795-1af6d94f-942c9ebd] to complete...done.                                                                  
Created spoke [vpc1-sp].
createTime: '2026-05-14T11:33:17.359361160Z'
description: codelab-vpc1-ncc-spoke
etag: '2'
group: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub/groups/services
hub: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/cloudnet-demo/global/networks/vpc1-ncc
name: projects/cloudnet-demo/locations/global/spokes/vpc1-sp
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 82b29a2b-50cb-4557-8b12-3345f5a36ad6
updateTime: '2026-05-14T11:33:55.914406863Z'

为 us-central1 中的 SSE 网关配置 NCC 网关 spoke

使用 gcloud 命令在美国中部 1 区创建 NCC 网关 spoke:

gcloud beta network-connectivity spokes gateways create cl-ncc-gw-usc-sp \
--region=us-central1 \
--hub=cl-hi-hub \
--capacity=1g \
--ip-range-reservations=10.100.0.0/23 \
--group=gateways

输出示例

Create request issued for: [cl-ncc-gw-usc-sp]
Waiting for operation [projects/cloudnet-demo/locations/us-central1/operations/operation-1778758907555-651c594d36fc5-783a8d5d-8d3e341b] to complete...done.                                                             
Created spoke [cl-ncc-gw-usc-sp].
createTime: '2026-05-14T11:41:48.066042872Z'
etag: '2'
gateway:
  capacity: CAPACITY_1_GBPS
  ipRangeReservations:
  - ipRange: 10.100.0.0/23
group: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub/groups/gateways
hub: projects/cloudnet-demo/locations/global/hubs/cl-hi-hub
name: projects/cloudnet-demo/locations/us-central1/spokes/cl-ncc-gw-usc-sp
spokeType: GATEWAY
state: ACTIVE
uniqueId: ffe8e2b7-c864-4279-9d21-ca72d87083fe
updateTime: '2026-05-14T11:44:08.787947523Z'

使用 gcloud 命令列出 NCC spoke:

gcloud network-connectivity spokes list 

输出示例

NAME: vpc2-sp
LOCATION: global
HUB: cl-hi-hub
GROUP: prod
TYPE: VPC network
RESOURCE COUNT: 1
DATA TRANSFER: N/A
DESCRIPTION: codelab-vpc2-ncc-spoke

NAME: vpc3-sp
LOCATION: global
HUB: cl-hi-hub
GROUP: non-prod
TYPE: VPC network
RESOURCE COUNT: 1
DATA TRANSFER: N/A
DESCRIPTION: codelab-vpc3-ncc-spoke

NAME: vpc1-sp
LOCATION: global
HUB: cl-hi-hub
GROUP: services
TYPE: VPC network
RESOURCE COUNT: 1
DATA TRANSFER: N/A
DESCRIPTION: codelab-vpc1-ncc-spoke

NAME: cl-ncc-gw-usc-sp
LOCATION: us-central1
HUB: cl-hi-hub
GROUP: gateways
TYPE: 
RESOURCE COUNT: 1
DATA TRANSFER: Off
DESCRIPTION: 

检查在“cl-hi-hub”NCC hub 上配置的 NCC spoke:

f3d7f75773fcb95.png

将 NCC 网关配置为向 NCC hub 路由表通告特定前缀。

gcloud beta network-connectivity spokes gateways advertised-routes create example-dot-com \
--ip-range=1.1.1.1/32 \
--priority=200 \
--advertise-to-hub \
--region=us-central1 \
--spoke=cl-ncc-gw-usc-sp 


gcloud beta network-connectivity spokes gateways advertised-routes create google-dot-com \
--ip-range=173.194.204.101/32 \
--priority=200 \
--advertise-to-hub \
--region=us-central1 \
--spoke=cl-ncc-gw-usc-sp 


gcloud beta network-connectivity spokes gateways advertised-routes create branch \
--ip-range=192.168.1.0/24 \
--priority=200 \
--advertise-to-hub \
--region=us-central1 \
--spoke=cl-ncc-gw-usc-sp 


gcloud beta network-connectivity spokes gateways advertised-routes create prod \
--ip-range=192.168.11.0/24 \
--priority=200 \
--advertise-to-hub \
--region=us-central1 \
--spoke=cl-ncc-gw-usc-sp 

gcloud beta network-connectivity spokes gateways advertised-routes create non-prod \
--ip-range=192.168.12.0/24 \
--priority=200 \
--advertise-to-hub \
--region=us-central1 \
--spoke=cl-ncc-gw-usc-sp 

使用 gcloud 命令列出源自网关 Spoke 的通告路由

gcloud beta network-connectivity spokes gateways advertised-routes list --region=us-central1

输出示例

438f80012017f535.png

检查 NCC 网关 spoke 的通告路由

在 Web 控制台中,依次前往Network Connectivity > Network Connectivity Center > 选择“Spokes”标签页:点击 cl-ncc-gw-usc-sp

e4a35a5ec4cf7b8e.png

4. Cloud Interconnect 混合连接

在撰写本文时,NCC 网关仅支持 Google Cloud Interconnect。NCC 网关使用 Google 租户项目中的全局 VPC 和 Cloud Router 路由器来终止 VLAN 连接和 BGP 对等互连会话。

虽然该图显示了一对 Cloud Interconnect 和 VLAN 连接在逻辑上连接到 NCC 网关,但 Google 管理的租户全局 VPC 中的 Cloud Router 是终止 VLAN 连接的基础组件。在此部分中,您将配置与 NCC 网关关联的 Cloud Router 路由器,以管理本地连接的 BGP 会话。

6caca812b4f0fa4d.png

us-central1 中的特定于 NCC 网关的 Cloud Router

使用 gcloud 命令专门为 NCC 网关配置 Cloud Router。

gcloud beta compute routers create ncc-gw-usc1-cr \
--ncc-gateway=https://networkconnectivity.googleapis.com/v1/projects/"${projectid}"/locations/us-central1/spokes/cl-ncc-gw-usc-sp \
--asn=64666 \
--advertisement-mode=CUSTOM \
--set-advertisement-ranges=10.100.2.0/23 \
--region=us-central1

输出示例

Creating router [ncc-gw-usc1-cr]...done.                                                                                                                           
NAME            REGION       NCC_GATEWAY
ncc-gw-usc1-cr  us-central1  cl-ncc-gw-usc-sp
  • NCC_GW_NAME:NCC 网关 spoke 的完整 URI。URI 的格式遵循以下模式:https://networkconnectivity.googleapis.com/v1/projects/"${projectid}"/locations/REGION/spokes/GATEWAY_SPOKE_NAME
  • ADVERTISED_IP_RANGES:要向本地网络通告的 IP 范围,以吸引流量流向 Google Cloud。

使用此 gcloud 命令列出刚刚创建的路由器

gcloud compute routers list --filter="region:(us-central1)"

请注意,Cloud Router 未与 VPC

NAME                      REGION       NETWORK
ncc-gw-usc1-cr            us-central1  N/A

从现有的专用 Cloud Interconnect 创建 VLAN 连接,这些连接将用作 Cloud Router 上的接口。以下示例配置使用链路本地 IP 地址作为候选子网范围。此范围内的特定主机地址将用于配置 BGP 对等互联。

gcloud compute interconnects attachments dedicated create vl2029-ead1 \
--region=us-central1 \
--interconnect=projects/some-interconnect-project/global/interconnects/interconnect-lab-sea26-zone1 \
--router=ncc-gw-usc1-cr \
--vlan=2024 \
--bandwidth=500m \
--mtu=1440 \
--candidate-subnets=169.254.222.216/29
Created [https://www.googleapis.com/compute/v1/projects/"${projectname}"/regions/us-central1/interconnectAttachments/vl2029-ead1].
gcloud compute interconnects attachments dedicated create vl3029-ead2 \
--region=us-central1 \
--interconnect=projects/some-interconnect-project/global/interconnects/interconnect-lab-sea26-zone2 \
--router=ncc-gw-usc1-cr  \
--vlan=3026 \
--bandwidth=500m \
--mtu=1440 \
--candidate-subnets=169.254.220.184/29 
Created [https://www.googleapis.com/compute/v1/projects/"${projectname}"/regions/us-central1/interconnectAttachments/vl3029-ead2].

在 us-central1 中配置具有接口的 NCC 网关 Cloud Router

使用 gcloud 命令将在美国中部创建的 VLAN 连接与 NCC 网关 Cloud Router 相关联。

gcloud compute routers add-interface ncc-gw-usc1-cr \
--region=us-central1 \
--interface-name=if-vl2029-ead1 \
--interconnect-attachment=vl2029-ead1

输出:

Updated [https://www.googleapis.com/compute/v1/projects/cloudnet-demo/regions/us-central1/routers/ncc-gw-usc1-cr].

为上面创建的 VLAN 连接配置 BGP 对等方。

使用以下 gcloud 命令在 Cloud Router 接口上启用 BGP 对等互连。

gcloud compute routers add-bgp-peer ncc-gw-usc1-cr \
--region=us-central1 \
--peer-name=bgp-vl2029-ead1 \
--interface=if-vl2029-ead1 \
--peer-asn=65112 \
--advertisement-mode=DEFAULT

输出:

Creating peer [bgp-vl2029-ead1] in router [ncc-gw-usc1-cr]...done.

在 us-central1 中配置 NCC 网关 Cloud Router 路由器,并添加第二个 VLAN 连接接口

使用 gcloud 命令将第二个 VLAN 连接作为接口添加到 NCC 网关的 Cloud Router

gcloud compute routers add-interface ncc-gw-usc1-cr \
--region=us-central1 \
--interface-name=if-vl3029-ead2 \
--interconnect-attachment=vl3029-ead2

输出:

Updated [https://www.googleapis.com/compute/v1/projects/cloudnet-demo/regions/us-central1/routers/ncc-gw-usc1-cr]

使用以下 gcloud 命令在 Cloud Router 接口上启用 BGP 对等互连。

gcloud compute routers add-bgp-peer ncc-gw-usc1-cr \
--region=us-central1 \
--peer-name=bgp-vl3029-ead2 \
--interface=if-vl3029-ead2 \
--peer-asn=65112 \
--advertisement-mode=DEFAULT

验证与本地 BGP 扬声器的 BGP 对等互连状态

使用 gcloud 命令验证与本地路由器的 BGP 对等方状态,并查看 NCC 网关 Cloud Router 路由器正在向本地网络发送哪些路由。

gcloud compute routers get-status ncc-gw-usc1-cr \
--region=us-central1

**

--format="yaml(result.bgpPeerStatus)" 

输出:

确保 BGP 状态为“已建立”。

result:
  bgpPeerStatus:
  - advertisedRoutes:
    - destRange: 10.100.2.0/23
      kind: compute#route
      nextHopIp: 169.254.111.217
      nextHopOrigin: INCOMPLETE
      priority: 100
      routeType: BGP
    enableIpv4: true
    enableIpv6: false
    ipAddress: 169.254.111.217
    md5AuthEnabled: false
    name: bgp-vl2029-ead1
    numLearnedRoutes: 2
    peerIpAddress: 169.254.111.218
    state: Established
    status: UP
    uptime: 6 minutes, 27 seconds
    uptimeSeconds: '387'
  - advertisedRoutes:
    - destRange: 10.100.2.0/23
      kind: compute#route
      nextHopIp: 169.254.112.217
      nextHopOrigin: INCOMPLETE
      priority: 100
      routeType: BGP
    enableIpv4: true
    enableIpv6: false
    ipAddress: 169.254.112.217
    md5AuthEnabled: false
    name: bgp-vl3029-ead2
    numLearnedRoutes: 1
    peerIpAddress: 169.254.112.218
    state: Established
    status: UP
    uptime: 1 minutes, 35 seconds
    uptimeSeconds: '95'

使用 gcloud 命令查看 NCC 网关 Cloud Router 从本地网络接收的路由:

gcloud compute routers get-status ncc-gw-usc1-cr \
--region=us-central1 \
--format="yaml(result.bestRoutes)"

输出:

result:
  bestRoutes:
  - asPaths:
    - asLists:
      - 65112
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2026-05-14T10:02:44.265-07:00'
    destRange: 172.16.0.0/16
    kind: compute#route
    nextHopInterRegionCost: 0
    nextHopIp: 169.254.111.218
    nextHopMed: 0
    nextHopOrigin: IGP
    priority: 65536
    routeType: BGP
  - asPaths:
    - asLists:
      - 65112
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2026-05-14T09:54:04.340-07:00'
    destRange: 3.3.3.0/24
    kind: compute#route
    nextHopInterRegionCost: 0
    nextHopIp: 169.254.111.218
    nextHopMed: 0
    nextHopOrigin: IGP
    priority: 65536
    routeType: BGP
  - asPaths:
    - asLists:
      - 65112
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2026-05-14T09:58:56.189-07:00'
    destRange: 4.4.4.0/24
    kind: compute#route
    nextHopInterRegionCost: 0
    nextHopIp: 169.254.112.218
    nextHopMed: 0
    nextHopOrigin: IGP
    priority: 65536
    routeType: BGP
cloud compute routers update ncc-gw-usc1-cr \
    --project=cloudnet-demo \
    --region=us-central1 \
    --advertisement-mode custom \
    --set-advertisement-groups=all_subnets \
    --set-advertisement-ranges="10.1.0.0/16"

输出:

Updating router [ncc-gw-usc1-cr]...done. 

5. 将第三方 SSE 与 NCC 网关集成

Secure Access Connect 是一项功能,可让您将第三方安全服务边缘 (SSE) 产品连接到 NCC 网关,以保护传入和传出流量。其主要功能是在 GCP 与第三方 SSE 提供商之间建立关联。

在本部分中,您将登录 Strata Cloud Manager,以在 NCC 网关中激活和配置 SSE 代理服务。

66981a054554007c.png

该服务由两种主要资源组成:

  • Secure Access Connect 领域:一种将 Google Cloud 项目与 SSE 服务相关联的全局性资源。它为一组 VPC 或用户建立共享的安全政策空间,向 SSE 提供方公开哪些网关应受同一组安全政策的约束。
  • Secure Access Connect 连接:一种区域级逻辑资源,可让 NCC 网关以物理方式使用 SSE 服务处理流量。它包含与合作伙伴的 SSE 堆栈建立信任和连接所需的元数据

创建 Secure Access Connect 大区

gcloud beta network-security secure-access-connect realms create codelab-sac-realm \
--security-service=prisma-access

确定配对密钥

如需将 Secure Access Connect realm 与 Prisma Access 相关联,您需要配对密钥。此字母数字字符串将用于通过 Strata Cloud Manager 门户网站配置和预配 SSE 网关。

gcloud beta network-security secure-access-connect realms describe codelab-sac-realm 
createTime: '2026-04-21T13:48:53.760262401Z'
name: projects/"${projectname}"/locations/global/sacRealms/codelab-cden
pairingKey:
  expireTime: '2026-04-28T13:48:51.107221733Z'
  key: 2a52a7e2-7c95-4dc7-9155-c3234976fad4
securityService: PALO_ALTO_PRISMA_ACCESS
state: PENDING_PARTNER_ATTACHMENT
updateTime: '2026-04-21T13:48:55.874553834Z'

在 Prisma Access 中创建具有受管 Cloud WAN 的合作伙伴 Realm

  1. 登录 Strata Cloud Manager,确保您使用的是分配给您的 SSE 网关租户

5dfa2931b945d839.png

  1. 如需将 SAC 领域连接到合作伙伴租户,请前往

系统设置 -> 集成 -> 受管云 WAN

点击“连接

91513aea55be8742.png

  1. 在“关联 Google NCC 网关账号”对话框中,输入 SAC Realm 的配对密钥。点击“确认”即可开始创建 Realm。

259a1029320d89cd.png

NCC 网关状态需要几分钟时间才能更新为“已连接”。

在 GCP Cloud Shell 中,使用 gcloud 命令查找与 SAC Realm 关联的配对密钥。

gcloud beta network-security secure-access-connect realms describe codelab-sac-realm 

您还可以在 GCP 控制台中查看配对密钥

c25be63c1e74102c.png

4f6690dff8096cea.png

通过以下步骤将 NCC Gateway SSE 集群添加为受管理的 Cloud WAN 连接:

配置 > NGFW 和 Prisma Access > 点击“配置范围”,然后在 Prisma Access 部分下选择“远程网络”

f7ff2d52eec2be40.png

在“概览”页面上,点击“设置”,然后选择“受管理的 Cloud WAN 连接

点击“添加受管理的 Cloud WAN 站点”

326ce68c7c358ea.png

在 NCC 网关中激活 SSE 实例

切换到 GCP 控制台,使用 gcloud 命令创建 Secure Access Connect 连接。

gcloud alpha network-security secure-access-connect attachments create codelab-sac-attachment-usc1 \
--location=us-central1 \
--realm=codelab-sac-realm  \
--gateway=cl-ncc-gw-usc-sp

2ffc5b6fcdde36c7.png

创建合作伙伴网关

输入受管理的 Cloud WAN 连接的参数。

  • 网站名称 - 输入连接的唯一名称。
  • **服务类型** - 选择 Google NCC 网关作为服务类型。
  • 连接名称 - 选择您在 N CC 网关 SAC 连接激活和创建期间创建的 GCP 服务位置。
  • Prisma Access 计算位置 - 选择要部署 NCC 网关与 Prisma Access 集成的位置。
  • 带宽 (Mbps) - 选择要分配的带宽(以 Mbps 为单位)。您可以分配的最大值为 10000 Mbps(10 Gbps

您可以分配的最大值为 10000 Mbps(10 Gbps)。

完成后,点击“保存”

3fe90e079c507b17.png

同步 NCC 网关的 SSE 实例配置

选择 Push Config 在 NCC 网关 spoke 上创建合作伙伴 SSE 实例。

81e1d345f9e51aa4.png

e80303abe25160d8.png

7a3246320db4f3c6.png

点击“推送配置”,然后选择“作业”,即可监控进度。等待特定作业的所有“结果”完成。

完成后,点击“完成”。

e95c9bdb0f6fb671.png

依次前往配置 > NGFW 和 Prisma Access > 配置范围 > Prisma Access > 远程网络 > 设置 > 受管理的 Cloud WAN 连接,检查合作伙伴 SSE 网关的状态

Prisma Access 会自动配置受管理的 Cloud WAN 连接的 BGP 配置。

98c10cb0879865f5.png

6. 验证通过 NCC 网关的数据路径

ba4232f600dd8a55.png

切换到您的 GCP Cloud Shell 控制台

使用 gcloud 命令查看源自网关 Spoke 的通告路由:

gcloud beta network-connectivity spokes gateways advertised-routes list --region=us-central1

438f80012017f535.png

通过 SSH 连接到“vm1-vpc1-ncc**”**,并启动 TCP 转储以跟踪来自“vm2-vpc2-ncc”的 ICMP 数据包。请注意,此虚拟机位于 VPC2 上。

vm1-vpc1-ncc

sudo tcpdump -i any icmp -v -e -n

建立 SSH 会话以连接到“vm1-vpc2-ncc”,并与“vm1-vpc1-ncc”的 IP 地址建立“ping”连接。

vm1-vpc2-ncc

ping 10.1.1.2

输出:

您应该会在 vm1-vpc1-ncc 上看到以下轨迹。

9e612b0897b5d188.png

在 VM-1 上运行 curl 命令,以测试本地 HTTP 服务器的可访问性

vm1-vpc1-ncc

curl 172.16.101.11 -vv

输出:

b359d78e57ec33e5.png

建立 SSH 会话以连接到“vm1-vpc2-ncc**”,并与 IP 地址“1.1.1.1”建立“ping”连接。

vm1-vpc2-ncc

ping 1.1.1.1

输出:

8760e85a562a158b.png

Ping 无法正常运行,因为需要在 Prisma(Strata Cloud Manager)中允许它们。让我们启用此功能!

前往 Strata Cloud Manager —-> 配置 —-> NGFW 和 Prisma Access,您将看到以下内容:

e5be1682f8bcbccd.png

在左上角,按“全局”下拉菜单,然后选择“远程网络”,接着点击“安全服务”标签页并选择“安全政策”,如下所示:

e5243244c1d05008.png

点击右上角的“添加规则”,然后创建“允许 icmp”规则,以允许 vm1-vpc2-ncc 与 1.1.1.1 之间的 icmp 流量,完成后按右上角的“推送配置”。

cb5f9c94598ae27f.png

请务必查看作业,确保配置已成功推送。依次点击“推送配置”——>“作业”

2b549ca26b38671f.png

作业成功完成后,再次从 vm1-vpc2-ncc 测试 ping。

b644dd0502383e3b.png

成功!您已成功完成此 Codelab!

7. 清理实验室

删除 VLAN 连接

gcloud compute interconnects attachments delete vl2024-ead1 \
--region=us-central1 \
--quiet

gcloud compute interconnects attachments delete vl3026-ead2 \
--region=us-central1 \
--quiet

删除 NCC 网关 Cloud Router BGP 对等方和 BGP 接口

gcloud compute routers remove-bgp-peer ncc-gw-usc1-cr \
--peer-name=bgp-vl2024-ead1 \
--region=us-central1 


gcloud compute routers remove-interface ncc-gw-usc1-cr \
--interface-name=if-vl3026-ead2 \
--region=us-central1 

删除 ncc-gw-usc1-cr 和 ncc-gw-usc1-cr

gcloud compute routers delete ncc-gw-usc1-cr \
--region=us-central1 \
--quiet

删除网关通告路由

gcloud beta network-connectivity spokes gateways advertised-routes delete ncc-gw-usc1-cr \
--region=us-central1 \
--spoke=cl-ncc-gw-usw-sp \

删除 NCC VPC spoke

gcloud network-connectivity spokes delete vpc1-sp --global --quiet
gcloud network-connectivity spokes delete vpc2-sp --global --quiet
gcloud network-connectivity spokes delete vpc3-sp --global --quiet

删除 ncc-gateway spoke

gcloud network-connectivity spokes delete cl-ncc-gw-usc-sp --region=us-central1 \
--quiet

删除安全访问领域

gcloud beta network-security secure-access-connect realms delete codelab-sac-realm --quie

t

删除 NCC Hub

gcloud network-connectivity hubs delete ncc-hub --quiet

删除防火墙规则

gcloud compute firewall-rules delete ncc1-vpc-internal --quiet
gcloud compute firewall-rules delete ncc2-vpc-internal --quiet
gcloud compute firewall-rules delete ncc3-vpc-internal --quiet
gcloud compute firewall-rules delete ncc1-vpc-iap --quiet
gcloud compute firewall-rules delete ncc2-vpc-iap --quiet
gcloud compute firewall-rules delete ncc3-vpc-iap --quiet

删除 GCE 实例

gcloud compute instances delete vm1-vpc1-ncc --zone=us-central1-a --quiet
gcloud compute instances delete vm2-vpc2-ncc --zone=us-central1-a --quiet
gcloud compute instances delete vm1-vpc3-ncc --zone=us-east1-b --quiet

删除 VPC 子网

gcloud compute networks subnets delete vpc1-ncc-subnet1 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet2 --region us-central1 --quiet
gcloud compute networks subnets delete vpc1-ncc-subnet3 --region us-central1 --quiet

删除 VPC

gcloud compute networks delete vpc1-ncc vpc2-ncc vpc3-ncc vpc4-ncc, vpc5-ncc --quiet 

8. 恭喜!

您已完成 Network Connectivity Center 实验!

所学内容

  • 配置 NCC 混合检查拓扑
  • NCC 网关 Spoke
  • Google Cloud 上的 Palo Alto Network SSE 网关
  • PANW:Strata Cloud Manager

后续步骤