设置 MACsec

本页面介绍如何设置 MACsec for Cloud Interconnect。

在启用和使用 MACsec for Cloud Interconnect 之前,您需要创建一个或多个预共享密钥并将本地路由器配置为使用这些密钥。您的路由器和 Google 的边缘路由器使用预共享密钥来加密在路由器之间传输的流量。

准备工作

如需获得检索 MACsec 密钥所需的权限,请让管理员向您授予对项目的 Compute Network Admin (roles/compute.networkAdmin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

如果您选择使用自定义角色,请确保用于管理 MACsec for Cloud Interconnect 的自定义角色包含 compute.interconnects.getMacsecConfig IAM 权限。

验证 Cloud Interconnect 是否支持 MACsec

使用以下任一选项来验证现有 Cloud Interconnect 连接是否支持 MACsec。如果是,请跳至创建预共享密钥

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Interconnect 物理连接标签页。

    转到物理连接

  2. 点击您要检查的连接的名称。

  3. 点击 MACsec 标签页。

    系统会显示 MACsec 信息。如果您的 Cloud Interconnect 连接支持 MACsec 且尚未配置,则 MACsec 配置会显示已停用。如果您的连接不支持 MACsec,则启用按钮将不起作用,将鼠标悬停在此按钮上会显示“您的互连不支持 MACsec。您需要一个支持 MACsec 的端口。”

gcloud

运行以下命令:

gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME

INTERCONNECT_CONNECTION_NAME 替换为 Cloud Interconnect 连接的名称。

输出内容类似以下示例。支持 MACsec 的连接会显示以下内容:

  • 对于 10 GB 的链路:linkType: LINK_TYPE_ETHERNET_10G_LRavailableFeatures: IF_MACSEC
  • 对于 100 GB 的链路:linkType: LINK_TYPE_ETHERNET_100G_LR;所有 100-GB 链路均支持 MACsec
adminEnabled: true
availableFeatures:
- IF_MACSEC
circuitInfos:
- customerDemarcId: fake-peer-demarc-0
  googleCircuitId: LOOP-0
  googleDemarcId: fake-local-demarc-0
creationTimestamp: '2021-10-05T03:39:33.888-07:00'
customerName: Fake Company
description: something important
googleReferenceId: '123456789'
id: '12345678987654321'
interconnectAttachments:
- https://www.googleapis.com/compute/v1/projects/my-project1/regions/us-central1/interconnectAttachments/interconnect-123456-987654321-0
interconnectType: IT_PRIVATE
kind: compute#interconnect
labelFingerprint: 12H17262736_
linkType: LINK_TYPE_ETHERNET_10G_LR
location: https://www.googleapis.com/compute/v1/projects/my-project1/global/interconnectLocations/cbf-zone2-65012
macsecEnabled: false
macsecPort: REQUESTED
name: INTERCONNECT_CONNECTION_NAME
operationalStatus: OS_ACTIVE
provisionedLinkCount: 1
requestedLinkCount: 1
selfLink: https://www.googleapis.com/compute/v1/projects/my-project1/global/interconnects/INTERCONNECT_CONNECTION_NAME
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/my-project1/global/interconnects/12345678987654321
state: ACTIVE

以下各项指定 Cloud Interconnect 连接的 MACsec 配置:

  • availableFeaturesCloud Interconnect 连接上的 MACsec 功能。此参数仅针对 10 GB Cloud Interconnect 连接显示,因为默认情况下,100 GB Cloud Interconnect 连接支持 MACsec。

  • macsecEnabled:此链路上的 MACsec for Cloud Interconnect 状态。在互连上启用 MACsec 之前,该值为 false。

请求支持 MACsec 的 Cloud Interconnect 连接

默认情况下,100 GB 的 Cloud Interconnect 连接支持 MACsec。但是,默认情况下,10 GB 的连接不支持 MACsec。如果您的现有连接不支持 MACsec,则需要请求新的连接,然后才能继续。

从下列选项中选择一项:

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Interconnect 物理连接标签页。

    转到物理连接

  2. 点击设置物理连接

  3. 选择专用互连,然后点击继续

  4. 选择订购新的专用互连,然后点击继续

  5. 指定连接的详细信息:

    • 名称:连接的名称。此名称显示在 Google Cloud 控制台中,Google Cloud CLI 会使用此名称引用该连接,例如 my-interconnect

    • Google Cloud 位置:在其中创建连接的物理位置。您的本地网络必须与 Google Cloud 网络在此位置相连。您可以在地理位置下拉列表中按地理区域限制可用位置的列表。

    • 针对当前项目的 MACsec 支持列显示了适用于 MACsec for Cloud Interconnect 的线路大小。

    • 容量 - 连接的总容量,取决于您订购的线路的数量和大小。

      选择显示的选项之一。

    • 订购支持 MACsec 的端口: 如果您要订购 10-Gbps 的物理链路,则必须在订购 Cloud Interconnect 连接时选择此选项以实现支持 MACsec 的连接。如果您要订购 100 Gbps 的物理链路,则系统会自动为您选择支持 MACsec 的端口,您无法取消选择该端口。

      您可以在说明字段中提供连接的可选说明。此说明供您使用。

  6. 点击下一步

  7. 如果您需要冗余,请指定重复连接的详细信息,然后点击下一步

  8. 指定您的联系信息:

    • 公司名称 - 作为有权请求连接的一方记录在授权书 (LOA) 中的组织的名称。

    • 技术联系人 - 接收互连相关通知的电子邮件地址。您不需要输入自己的地址;所有通知中都会包含您。您只能指定一个地址。

      如果您要通过员工身份联合创建连接,则需要指定技术联系人。员工身份联合目前为预览版

  9. 查看您的订单。检查您的专用互连连接详细信息和联系信息是否正确。如果所有信息均正确,点击下订单。如果信息有误,请返回并修改连接详细信息。

  10. 在订单确认页面,查看后续步骤,然后点击完成

gcloud

以下命令演示如何在 10 GB 的链路上请求支持 MACsec 的 Cloud Interconnect 连接。10-GB 连接上支持 MACsec,但您必须联系 Google Cloud 客户支持团队,使您的 Google Cloud 项目能够在 10-GB 的链路上创建支持 MACsec 的连接。

gcloud compute interconnects create INTERCONNECT_CONNECTION_NAME \
    --customer-name=CUSTOMER_NAME \
    --interconnect-type=DEDICATED \
    --link-type=LINK_TYPE_ETHERNET_10G_LR \
    --location="INTERCONNECT_CONNECTION_LOCATION" \
    --requested-link-count=LINK_COUNT \
    --requested-features=IF_MACSEC

请替换以下内容:

  • INTERCONNECT_CONNECTION_NAME:Cloud Interconnect 连接的名称

  • CUSTOMER_NAME:我们为此连接发出的授权书 (LOA) 的客户名称

  • INTERCONNECT_CONNECTION_LOCATION位置表中列出的 Cloud Interconnect 连接位置

  • LINK_COUNT:所需的 Cloud Interconnect 连接数

请求支持 MACsec 的 Cloud Interconnect 连接后,系统会为您预配 Cloud Interconnect 连接。

如需详细了解预配,请参阅专用互连预配概览合作伙伴互连预配概览

创建预共享密钥

预配支持 MACsec 的 Cloud Interconnect 连接后,请创建 MACsec 用于加密在 Google 边缘路由器和您的路由器之间传输的流量的预共享密钥。创建密钥时,系统不会启用 MACsec。如需启用 MACsec,您必须配置本地路由器,然后启用 MACsec。

MACsec for Cloud Interconnect 要求您至少有一个密钥为开始时间或现在时间。您为 MACsec for Cloud Interconnect 创建的密钥具有无限的有效性。每个连接最多可以有五个密钥。

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Interconnect 物理连接标签页。

    转到物理连接

  2. 选择您要修改的连接。

  3. MACsec 标签页上,转到预共享密钥部分,然后点击代管式预共享密钥

  4. 指定预共享密钥的详细信息:

    • 密钥名称 1:密钥的名称。此名称显示在 Google Cloud 控制台中,gcloud CLI 会使用此名称引用该密钥,例如 psk-1

    • 开始时间 1:密钥的生效时间。

  5. 如需添加更多预共享密钥,请点击添加密钥。连续的预共享密钥的开始时间必须至少相隔 6 小时。

  6. 点击提交

gcloud

gcloud compute interconnects macsec add-key INTERCONNECT_CONNECTION_NAME \
     --key-name=KEY_NAME --start-time="START_TIME"

请替换以下内容:

  • KEY_NAME:密钥的名称
  • START_TIME:此密钥的生效时间(采用 ISO 8601 格式),例如 2023-07-01T21:00:01.000Z

获取预共享密钥

控制台

  1. 在 Google Cloud 控制台中,进入 Cloud Interconnect 物理连接标签页。

    转到物理连接

  2. 选择您要查看的连接。

  3. MACsec 标签页上,转到预共享密钥部分,找到预共享密钥的名称,然后点击查看。一个窗口会显示连接关联密钥 (CAK) 和连接关联密钥名称 (CKN)。点击任一值旁边的复制,将该值复制到计算机的剪贴板。

  4. 点击关闭

gcloud

运行以下命令:

gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME

输出类似于以下内容:

preSharedKeys:
- cak: 0123456789abcdef...0123456789abcdef
  ckn: 0101016789abcdef...0123456789abcdef
  name: key1
  startTime: 2023-07-01T21:00:01.000Z

记下路由器配置的连接关联密钥 (CAK) 和连接关联密钥名称 (CKN)。

如果您收到权限遭拒错误,请验证您是否拥有正确的权限。如需了解更多信息,请参阅准备工作

配置本地路由器

请参阅路由器供应商的文档,以在路由器上设置以下值,以便与 Google 路由器兼容。

此时,Google 端尚未启用 MACsec。为避免流量中断,请勿在设置这些值时在路由器上启用 MACsec。

设置
MACsec 加密套件
  • GCM-AES-256-XPN
  • GCM-AES-256
CAK 加密算法 AES_256_CMAC
密钥服务器优先级 15
安全关联密钥 (SAK) 密钥更新间隔 28800 秒
MACsec 机密性偏移量 0
窗口大小 64
完整性检查值 (ICV) 指示符
CAK 您之前在获取预共享密钥时记下的值。
CKN 您之前在获取预共享密钥时记下的值。
安全信道标识符 (SCI) 已启用

后续步骤