使用 MD5 驗證
Cloud Router 會透過邊界閘道通訊協定 (BGP),在虛擬私有雲 (VPC) 網路與對等互連網路之間交換路徑。根據預設,Cloud Router BGP 工作階段不會經過驗證。不過,當您將 Cloud Router 與特定產品搭配使用時,可以選擇設定 BGP 工作階段,以使用 MD5 驗證。
可使用 MD5 驗證的產品包括:
您也可以搭配第三方網路虛擬設備使用 MD5 驗證。 詳情請參閱 Network Connectivity Center 說明文件中的路由器設備。
將工作階段設定為使用 MD5 驗證時,您會提供共用的密鑰,也就是設定 Cloud Router 時使用的金鑰,以及設定對等路由器時使用的金鑰。完成必要設定步驟後,Cloud Router 會使用該金鑰驗證 BGP 對等互連。Cloud Router 會使用 RFC 2385 中說明的模型,強制執行 MD5 驗證。
建立對等互連時,可以新增 MD5 驗證。您也可以為現有工作階段新增驗證、變更工作階段使用的金鑰,或移除驗證。
事前準備
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Install the Google Cloud CLI.
-
設定 gcloud CLI 以使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
如要初始化 gcloud CLI,請執行下列指令:
gcloud init
- 如果您使用 Google Cloud CLI,請執行下列指令來設定專案 ID。本頁的
gcloud
說明假設您已設定專案 ID。gcloud config set project PROJECT_ID
-
執行下列指令,確認 ID 已設定:
gcloud config list --format='text(core.project)'
建立使用驗證的工作階段
對於部分 Network Connectivity 產品,您可以在建立資源時,設定 BGP 對等互連使用 MD5 驗證。這些產品包括高可用性 VPN 和專屬互連網路。
詳情請參閱下列章節:
如要建立第 2 層合作夥伴互連網路 VLAN 連結,請先建立連結,然後更新 BGP 對等互連,加入 MD5 驗證。如要瞭解如何在更新 BGP 工作階段時新增驗證,請參閱下一節。如果是第 3 層連線,請與服務供應商聯絡,索取操作說明。
在現有工作階段中新增驗證
如要為現有 BGP 對等互連新增驗證,請使用下列其中一種程序。新增驗證時,請務必使用與對等路由器相同的金鑰。
Trusted Cloud 不會顯示 MD5 驗證金鑰,只會在設定成功後顯示金鑰名稱。
- 如果您透過 gcloud 或 UI 設定 MD5 驗證,系統會自動產生
PEER_NAME-key
形式的鍵名。 Trusted Cloud - 如果您透過 API 設定 MD5 驗證,可以指定金鑰名稱。
主控台
前往 Trusted Cloud 控制台的「Cloud Routers」頁面。
在「名稱」欄位中,按一下適當的 Cloud Router 名稱。
在「路由器詳細資料」頁面中,按一下要修改的 BGP 工作階段名稱。
在「BGP session details」(BGP 工作階段詳細資料) 頁面中,按一下
「Edit」(編輯)。如要新增 MD5 驗證,請按照下列步驟操作:
- 在「MD5 Authentication」(MD5 驗證) 部分中,選取「Enabled」(已啟用)。頁面會更新,加入文字欄位。
- 輸入安全金鑰,或按一下「產生並複製」產生新的安全金鑰。
- 請記下金鑰。離開這個頁面後,您就無法再擷取金鑰。
按一下 [儲存]。
gcloud
如要使用 gcloud CLI 更新工作階段,請使用
gcloud compute routers update-bgp-peer
指令:gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
替換下列值:
ROUTER_NAME
:Cloud Router 的名稱PEER_NAME
:BGP 對等互連的名稱REGION
:該 Trusted Cloud 區域SECRET_KEY
:您共用的 MD5 驗證密鑰
API
如要使用 API 更新工作階段,請使用
compute.routers.patch
方法。使用這個方法將驗證新增至工作階段時,要求必須執行下列兩項操作:- 在
md5AuthenticationKeys
陣列中新增金鑰的項目。新增項目時,請同時提供金鑰的名稱和值。 - 更新
bgpPeers
陣列,加入md5AuthenticationKeyName
欄位的值。這個欄位會依名稱參照金鑰。
修補
md5AuthenticationKeys
陣列時,您必須提供陣列中每個項目的name
(除非您想移除某些項目)。不過,你不必為每個項目的key
欄位提供值。 如果省略這個值,Cloud Router 會保留先前使用的值。這項行為旨在保護金鑰的機密性。 這與其他修補方法不同,後者通常需要您為陣列項目中的每個欄位指定值。修補
bgpPeers
陣列時,必須為每個項目的每個欄位提供值 (除非您想移除部分同層級或值)。舉例來說,假設 Cloud Router 有兩個對等互連,其中一個使用 MD5 驗證,另一個則否。如要保留第一個對等互連不變,但為第二個對等互連新增 MD5 驗證,請使用下列要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME_1", }, { "name": "KEY_NAME_2", "key": "SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME_1", "md5AuthenticationKeyName": "KEY_NAME_1", "interfaceName": "INTERFACE_NAME_1", "ipAddress": "IP_ADDRESS_1", "peerIpAddress": "PEER_IP_ADDRESS_1", "peerAsn": "PEER_ASN_1" }, { "name": "PEER_NAME_2", "md5AuthenticationKeyName": "KEY_NAME_2", "interfaceName": "INTERFACE_NAME_2", "ipAddress": "IP_ADDRESS_2", "peerIpAddress": "PEER_IP_ADDRESS_2", "peerAsn": "PEER_ASN_2" } ], }
替換下列值:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:該 Trusted Cloud 區域ROUTER_NAME
:Cloud Router 的名稱KEY_NAME_1
:目前使用的金鑰名稱 (由PEER_NAME_1
提供)KEY_NAME_2
:您要為PEER_NAME_2
新增的金鑰名稱。請記下名稱。 如要日後使用 API 進行變更,則需要名稱。SECRET_KEY
:您為PEER_NAME_2
新增的 MD5 驗證密鑰PEER_NAME_1
:您未變更的 BGP 對等互連名稱INTERFACE_NAME_1
:BGP 對等互連工作階段的介面名稱,不會變更IP_ADDRESS_1
:Cloud Router 上的 IP 位址 (適用於未變更的對等互連)PEER_IP_ADDRESS_1
:不會變更的對等互連 IP 位址PEER_ASN_1
:對等互連的 BGP 自治系統編號 (ASN),不會變更PEER_NAME_2
:要更新的 BGP 對等互連名稱,以便使用 MD5 驗證INTERFACE_NAME_2
:BGP 對等互連工作階段的介面名稱IP_ADDRESS_2
:Cloud Router 上的 IP 位址PEER_IP_ADDRESS_2
:對等路由器 IP 位址PEER_ASN_2
:這個 BGP 對等互連的 BGP 自治系統編號 (ASN)
更新驗證金鑰
如要變更 Cloud Router 用於對等互連連線的密鑰,請使用下列其中一個程序。在 Cloud Router 上更新金鑰時,請務必使用與對等路由器相同的金鑰。
Trusted Cloud 不會顯示 MD5 驗證金鑰,只會在設定成功後顯示金鑰名稱。
- 如果您透過 gcloud 或 UI 設定 MD5 驗證,系統會自動產生
PEER_NAME-key
形式的鍵名。 Trusted Cloud - 如果您透過 API 設定 MD5 驗證,可以指定金鑰名稱。
主控台
前往 Trusted Cloud 控制台的「Cloud Routers」頁面。
在「名稱」欄位中,按一下適當的 Cloud Router 名稱。
在「路由器詳細資料」頁面中,按一下要修改的 BGP 工作階段名稱。
在「BGP session details」(BGP 工作階段詳細資料) 頁面中,按一下
「Edit」(編輯)。在「MD5 驗證」部分中,按一下「更新 MD5 驗證金鑰」。
在「MD5 驗證金鑰」欄位中,輸入新的密碼驗證金鑰,或按一下「產生並複製」來填入欄位。
請記下金鑰。離開這個頁面後,您就無法再擷取金鑰。
按一下 [儲存]。
gcloud
如要更新工作階段,請使用
gcloud compute routers update-bgp-peer
指令。gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --md5-authentication-key=SECRET_KEY
替換下列值:
ROUTER_NAME
:Cloud Router 的名稱PEER_NAME
:BGP 對等互連的名稱REGION
:該 Trusted Cloud 區域SECRET_KEY
:您要使用的新密碼 MD5 驗證金鑰
API
如要更新工作階段,請使用
compute.routers.patch
方法。舉例來說,請使用類似下方的要求。這個範例會取代整個對等互連陣列,而不只是取代所識別的特定對等互連。也就是說,除了
PEER_NAME
以外,所有對等互連都會移除。這會移除KEY_NAME
以外的所有鍵,並以新值UPDATED_SECRET_KEY
更新KEY_NAME
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ { "name": "KEY_NAME", "key": "UPDATED_SECRET_KEY" } ], "bgpPeers": [ { "name": "PEER_NAME", "md5AuthenticationKeyName": "KEY_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "peerAsn": "PEER_ASN" } ], }
替換下列值:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:該 Trusted Cloud 區域ROUTER_NAME
:Cloud Router 的名稱KEY_NAME
:要更新的金鑰名稱;使用 API 處理 MD5 驗證時,必須依名稱參照金鑰UPDATED_SECRET_KEY
:新的密碼 MD5 驗證金鑰PEER_NAME
:BGP 對等互連的名稱INTERFACE_NAME
:BGP 對等互連工作階段的介面名稱IP_ADDRESS
:Cloud Router 上的 IP 位址PEER_IP_ADDRESS
:對等路由器 IP 位址PEER_ASN
:這個 BGP 對等互連的 BGP 自治系統編號 (ASN)
查看驗證狀態
請按照下列步驟檢查 MD5 驗證狀態。另請參閱「查看 Cloud Router 詳細資料」。
主控台
前往 Trusted Cloud 控制台的「Cloud Routers」頁面。
在「名稱」欄位中,按一下適當的 Cloud Router 名稱。
在「Router details」(路由器詳細資料) 頁面中,找出「MD5 Authentication」(MD5 驗證) 欄。這個資料欄中的值會指出每個工作階段是否啟用 MD5 驗證。
gcloud
如要使用 gcloud CLI 檢查工作階段,請使用
gcloud compute routers get-status
指令。gcloud compute routers get-status ROUTER_NAME \ --project=PROJECT \ --region=REGION \
替換下列值:
ROUTER_NAME
:Cloud Router 的名稱PROJECT
:專案名稱REGION
:該 Trusted Cloud 區域
輸出內容會包含
result.bgpPeerStatus[]
物件,其中含有 Cloud Router BGP 工作階段的相關資訊。每個工作階段的資料都包含下列兩個欄位:md5AuthEnabled
:布林值欄位,指出工作階段是否已啟用 MD5 驗證statusReason
:說明工作階段狀態的欄位
API
請使用
routers.getRouterStatus
方法:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME/getRouterStatus
更改下列內容:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:Cloud Router 所在的區域ROUTER_NAME
:Cloud Router 的名稱
輸出內容會包含每個 BGP 工作階段的相關資訊。每個工作階段的資料包含下列兩個欄位:
md5AuthEnabled
:布林值欄位,表示工作階段是否已啟用 MD5 驗證statusReason
:描述工作階段狀態的欄位。只有在 MD5 驗證發生問題時,才會顯示這個欄位。(在這種情況下,欄位的值為MD5_AUTH_INTERNAL_PROBLEM
)。
如要持續監控 BGP 工作階段,請使用 Cloud Logging。記錄檔會記錄 BGP 事件中的 MD5 驗證狀態資訊,而 BGP 事件是資訊記錄的一部分。
從工作階段中移除驗證
如要從 BGP 工作階段移除 MD5 驗證,您必須從 Cloud Router 和對等路由器中移除 MD5 驗證。
如要從 Cloud Router 的 BGP 工作階段中移除 MD5 驗證,請使用下列其中一個程序。
主控台
前往 Trusted Cloud 控制台的「Cloud Routers」頁面。
在「名稱」欄位中,按一下適當的 Cloud Router 名稱。
在「路由器詳細資料」頁面中,按一下要修改的 BGP 工作階段名稱。
在「BGP session details」(BGP 工作階段詳細資料) 頁面中,按一下
「Edit」(編輯)。如要停用 MD5 驗證,請按一下「已停用」。
按一下 [儲存]。系統會顯示「停用 MD5 驗證金鑰」對話方塊。
在確認對話方塊中,按一下「確認」。
gcloud
如要移除 MD5 驗證,請使用
gcloud compute routers update-bgp-peer
指令:gcloud compute routers update-bgp-peer ROUTER_NAME \ --peer-name=PEER_NAME \ --region=REGION \ --clear-md5-authentication-key
替換下列值:
ROUTER_NAME
:Cloud Router 的名稱PEER_NAME
:BGP 對等互連的名稱REGION
:該 Trusted Cloud 區域
API
如要移除 MD5 驗證,請使用
compute.routers.patch
方法。使用 API 移除驗證時,更新作業必須執行兩項操作:
- 更新
md5AuthenticationKeys
陣列 - 從相關的
bgpPeers
項目中移除md5AuthenticationKey
值
舉例來說,假設您的 Cloud Router 有兩個 BGP 對等互連,而您想從其中一個移除 MD5 驗證,在這種情況下,請使用類似下列內容的要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_UNCHANGED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_UPDATED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UPDATED_PEER", "ipAddress": "IP_ADDRESS_FOR_UPDATED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UPDATED_PEER", "peerAsn": "PEER_ASN_FOR_UPDATED_PEER" }, { "name": "NAME_OF_UNCHANGED_PEER", "interfaceName": "INTERFACE_NAME_FOR_UNCHANGED_PEER", "ipAddress": "IP_ADDRESS_FOR_UNCHANGED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_UNCHANGED_PEER", "peerAsn": "PEER_ASN_FOR_UNCHANGED_PEER" "md5AuthenticationKeyName": "KEY_NAME_FOR_UNCHANGED_PEER" } ], ], }
替換下列值:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:Cloud Router 所在的 Trusted Cloud 地區ROUTER_NAME
:Cloud Router 的名稱NAME_OF_UPDATED_PEER
:要修改的對等互連工作階段名稱INTERFACE_NAME_FOR_UPDATED_PEER
:要修改的 BGP 對等互連介面名稱IP_ADDRESS_FOR_UPDATED_PEER
:您要修改的對等互連使用的 Cloud Router IP 位址PEER_IP_ADDRESS_FOR_UPDATED_PEER
:要修改的對等互連工作階段的對等互連路由器 IP 位址PEER_ASN
:要修改的 BGP 對等互連的 BGP 自治系統編號 (ASN)NAME_OF_UNCHANGED_PEER
:要保留的對等互連工作階段名稱INTERFACE_NAME_FOR_UNCHANGED_PEER
:要保留原狀的 BGP 對等互連介面名稱IP_ADDRESS_FOR_UNCHANGED_PEER
:Cloud Router 上的 IP 位址,供您要保留的對等互連使用PEER_IP_ADDRESS_FOR_UNCHANGED_PEER
:要保留原狀的對等互連工作階段的對等路由器 IP 位址PEER_ASN_FOR_UNCHANGED_PEER
:您要保留的 BGP 對等互連點的 BGP 自治系統編號 (ASN)KEY_NAME_FOR_UNCHANGED_PEER
:要保留原狀的 BGP 對等互連 MD5 驗證金鑰名稱
移除使用驗證的工作階段
如要移除使用 MD5 驗證的對等互連工作階段,請使用下列其中一個程序。
主控台
前往 Trusted Cloud 控制台的「Cloud Routers」頁面。
- 選取要移除 BGP 工作階段的路由器。
- 如要移除 BGP 工作階段,請選取要移除的 BGP 工作階段。
- 按一下頁面頂端的「刪除」 ,然後確認刪除。
gcloud
如要移除已啟用 MD5 驗證的 BGP 工作階段,請使用
gcloud compute routers remove-bgp-peer
指令。詳情請參閱「停用或移除 BGP 工作階段」。
API
如要移除已啟用 MD5 驗證的 BGP 工作階段,請使用
compute.routers.patch
方法。使用 API 移除採用 MD5 驗證的 BGP 工作階段時,更新作業必須執行兩項操作:從
md5AuthenticationKeys
陣列中移除金鑰,並移除bgpPeer
本身。舉例來說,假設 Cloud Router 有兩個對等互連,而您想移除其中一個。在這種情況下,請使用類似下列內容的要求:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME { "md5AuthenticationKeys": [ "name": "KEY_NAME_FOR_RETAINED_PEER", ], "bgpPeers": [ { "name": "NAME_OF_RETAINED_PEER", "interfaceName": "INTERFACE_FOR_RETAINED_PEER", "ipAddress": "IP_ADDRESS_FOR_RETAINED_PEER", "peerIpAddress": "PEER_IP_ADDRESS_FOR_RETAINED_PEER", "peerAsn": "PEER_ASN_FOR_RETAINED_PEER", "md5AuthenticationKeyName": "KEY_NAME_FOR_RETAINED_PEER" } ], }
替換下列值:
PROJECT_ID
:包含 Cloud Router 的專案REGION
:該 Trusted Cloud 區域ROUTER_NAME
:Cloud Router 的名稱KEY_NAME_FOR_RETAINED_PEER
:您要保留的對等互連所用金鑰名稱NAME_OF_RETAINED_PEER
:要保留的 BGP 對等互連名稱INTERFACE_FOR_RETAINED_PEER
:要保留的 BGP 對等互連介面名稱IP_ADDRESS_FOR_RETAINED_PEER
:您要保留的對等互連 Cloud Router 的 IP 位址PEER_IP_ADDRESS_FOR_RETAINED_PEER
:您要保留的對等互連 IP 位址PEER_ASN_FOR_RETAINED_PEER
:您要保留的對等互連的 BGP 自治系統編號 (ASN)KEY_NAME_FOR_RETAINED_PEER
:要保留的 BGP 對等互連 MD5 驗證金鑰名稱
舉例來說,假設您建立了下列對等互連:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", "key": "first_secret_key_value" }, { "name": "second_key_name", "key": "second_secret_key_value" } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" }, { "name": "second_peer", "md5AuthenticationKeyName": "second_key_name", "interfaceName": "second_interface", "ipAddress": "second_address", "peerIpAddress": "second_peer_interface", "peerAsn": "second_peer_asn" } ], }
如果之後想移除第二個對等互連,可以使用類似下方的要求:
PATCH https://compute.googleapis.com/compute/v1/projects/project_id/regions/region_name/routers/cloud_router_name { "md5AuthenticationKeys": [ { "name": "first_key_name", } ], "bgpPeers": [ { "name": "first_peer", "md5AuthenticationKeyName": "first_key_name", "interfaceName": "first_interface", "ipAddress": "first_address", "peerIpAddress": "first_peer_interface", "peerAsn": "first_peer_asn" } ], }
後續步驟
- 如果您使用 Google Cloud CLI,請執行下列指令來設定專案 ID。本頁的