创建命名集
本指南介绍了如何在 Cloud Router 路由器中创建命名集。
本页面上的示例创建了两个不同类型的命名集:前缀集和社集群。
前缀集名为 allowed-prefixes,包含以下项:
'192.168.0.0/16''fd00::/8'prefix('10.0.0.0/20').orLonger()
社集群名为 allowed-communities,包含以下项:
'64500:100''64500:200'
您可以通过以下两种方式为 Cloud Router 路由器创建命名集:
构建命名集
命名集的名称在路由器中必须是唯一的。本部分使用 gcloud CLI 构建命名集。
构建前缀集
如需构建前缀集,请执行以下操作:
- 如需创建名为
allowed-prefixes的空前缀命名集,请运行以下命令: 将 ROUTER_NAME 替换为 Cloud Router 路由器的名称。gcloud compute routers add-named-set ROUTER_NAME --set-name=allowed-prefixes --set-type=prefix 如需将每个元素添加到
allowed-prefixes命名集,请为每个元素运行add-named-set-element命令:gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'192.168.0.0/16'"gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'fd00::/8'"
gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="prefix('10.0.0.0/20').orLonger()"
构建社集群
如需构建社集群,请执行以下操作:
- 如需创建名为
allowed-communities的空社集群,请运行以下命令:gcloud compute routers add-named-set ROUTER_NAME --set-name=allowed-communities --set-type=community 如需将每个元素添加到
allowed-communities命名集,请为每个元素运行add-named-set-element命令:gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:100'"gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:200'"
上传命名集
创建 JSON 或 YAML 文件时,请使用以下命名集类型之一:
- NAMED_SET_TYPE_COMMUNITY
- NAMED_SET_TYPE_PREFIX
The upload-named-set
命令会覆盖任何同名的命名集。
如需创建名为
allowed-prefixes和allowed-communities的命名集,请在您偏好的文本编辑器中创建命名集。您可以使用 YAML 或 JSON 格式创建它们。allowed-prefixes.yaml:
# Prefix set resource: elements: - expression: "'192.168.0.0/16'" - expression: "'fd00::/8'" - expression: "prefix('10.0.0.0/20').orLonger()" name: allowed-prefixes type: NAMED_SET_TYPE_PREFIXallowed-communities.yaml:
# Community set resource: elements: - expression: "'64500:100'" - expression: "'64500:200'" name: allowed-communities type: NAMED_SET_TYPE_COMMUNITY如需上传命名集,请运行以下命令:
gcloud compute routers upload-named-set ROUTER_NAME --set-name=allowed-prefixes --file-name=allowed-prefixes.yaml --file-format=jsongcloud compute routers upload-named-set ROUTER_NAME --set-name=allowed-communities --file-name=allowed-communities.json --file-format=json将 ROUTER_NAME 替换为 Cloud Router 路由器的名称。
前缀集元素
前缀集的元素必须是前缀字面量(字符串)或前缀范围对象。这些元素与为在路由政策中使用而定义的前缀字面量和前缀范围相同。
下表介绍了前缀集的每个元素。
| 表达式 | 说明 |
|---|---|
|
前缀字面量。 |
|
前缀匹配对象。 |
|
前缀范围对象,它是 p 的副本,其范围的结束值设置为输入前缀的每个地址系列的最大值(/32 或 /128),范围的起始值设置为输入前缀的长度加 1。 |
|
前缀范围对象,它是 p 的副本,其范围的结束值设置为输入前缀的每个地址系列的最大值(/32 或 /128)。 |
|
前缀范围对象,它是 p 的副本,其范围的起始值设置为 /20,结束值设置为 /30。 |
|
前缀范围对象,它是 p 的副本,其范围的结束值设置为输入前缀的 /30。 |
社集群元素
社集群的元素必须是人类可读的 A:B 格式的社群字符串。
下表介绍了社集群的元素。
| 表达式 | 说明 |
|---|---|
|
社群字面量。 |