建立具名集合
本指南說明如何在 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
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),範圍開頭則設為輸入前置字串的長度加一。 |
|
前置碼範圍物件,是 p 的副本,範圍結尾設為輸入前置碼的每個位址系列上限 (/32 或 /128)。 |
|
前置字元範圍物件,是 p 的副本,範圍開頭設為 /20,結尾設為 /30。 |
|
前置字串範圍物件,是 p 的副本,範圍結尾設為輸入前置字串的 /30。 |
社群設定元素
社群集中的元素必須是人類可讀格式的社群字串A:B
。
下表說明社群組合的元素。
| 運算式 | 說明 |
|---|---|
|
社群字面值。 |