本頁面說明如何排解 Cloud Interconnect 適用的 MACsec 問題。
嘗試建立新金鑰時,Cloud Interconnect 會顯示錯誤
如果您有未設定開始時間的現有 MACsec 金鑰,並嘗試建立新金鑰,Cloud Interconnect 會顯示錯誤。如要解決這項錯誤,請更新現有機碼的開始時間。
Cloud Interconnect 連線的 MACsec 已停止運作
您已成功在 Cloud Interconnect 連線和內部部署路由器上啟用 MACsec,但 MACsec 工作階段顯示 Cloud Interconnect 連線連結的運作狀態為異常。問題可能由下列任一原因造成:
- 內部部署路由器和 Google 邊緣路由器的有效金鑰不相符。
- 內部部署路由器和 Google 邊緣路由器之間的 MACsec 通訊協定不相符。
如要解決 MACsec 狀態,請執行下列操作:
如要確認 Cloud Interconnect 連線是否已啟用 MACsec,請選取下列任一選項:
主控台
在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。
選取要查看的 Cloud Interconnect 連線。
在「MACsec」分頁中,確認「MACsec」設定顯示下列任一項目:
已啟用 (無法開啟):連結已啟用 MACsec 加密。如果兩端之間未建立 MACsec 加密,連結就會在未加密的情況下運作。
已啟用 (無法關閉):連結已啟用 MACsec 加密功能。如果兩端未建立 MACsec 加密,連結就會失敗。
gcloud
gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
將
INTERCONNECT_CONNECTION_NAME
替換為 Cloud Interconnect 連線的名稱。輸出結果大致如下。確認畫面上顯示
macsecEnabled: true
: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 macsec: failOpen: false preSharedKeys: - name: key1 startTime: 2023-07-01T21:00:01.000Z macsecEnabled: true name: INTERCONNECT_CONNECTION_NAME operationalStatus: OS_ACTIVE provisionedLinkCount: 1 requestedFeatures: - IF_MACSEC 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 運作狀態和有效金鑰名稱,請使用下列任一選項:
主控台
在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。
選取要查看的 Cloud Interconnect 連線。
在「連結電路資訊」中,確認「連結狀態」顯示所有連結的
「啟用」。確認「MACsec 金鑰名稱」顯示所有連結的金鑰名稱,且每個金鑰名稱都顯示「
MACsec on this link is up」或「 MACsec on this link is down」。
gcloud
gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \ --project=PROJECT_NAME
將
PROJECT_NAME
替換為您的Google Cloud 專案名稱。輸出結果大致如下。確認
links.lacpStatus.state
顯示ACTIVE
、links.macsec.ckn
顯示值,以及links.operationalStatus
顯示LINK_OPERATIONAL_STATUS_UP
:bundleAggregationType: BUNDLE_AGGREGATION_TYPE_STATIC bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP links: - circuitId: LOOP-0 googleDemarc: fake-local-demarc-0 lacpStatus: googleSystemId: '00:11:22:33:44:55' neighborSystemId: '55:44:33:22:11:00' state: ACTIVE macsec: ckn: 0101010189abcdef...0123456789abcdef operational: false operationalStatus: LINK_OPERATIONAL_STATUS_UP receivingOpticalPower: state: OK value: -2.49 transmittingOpticalPower: state: OK value: -0.88 macAddress: 00:11:22:33:44:55
如果
links.macsec.ckn
沒有顯示值,請向Google Cloud 支援團隊尋求協助。如要驗證有效金鑰的 CAK 和 CKN 值,以及金鑰的開始時間,請選取下列其中一個選項:
主控台
在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下有效金鑰旁的「查看」。如果系統未顯示 CKN 值,請洽詢 Google Cloud 支援團隊 Google Cloud 尋求協助。
在「預先共用金鑰」部分,請確認有效金鑰的開始時間與內部路由器的開始時間相符。執行下列其中一個步驟:
如果值不相符,請參閱路由器的使用手冊,更新路由器上的值,然後確認是否可以建立 MACsec 工作階段。
如果值相符,但 MACsec 工作階段仍無法在連結上運作,請繼續執行下一個步驟。
gcloud
執行
gcloud compute interconnects get-diagnostics
指令,即可顯示有效金鑰的 CKN 值。如果您設定了多個鍵,系統會選取最晚開始時間不是未來的鍵做為有效鍵。Google 邊緣路由器會拒絕任何嘗試使用舊金鑰的新 MACsec 工作階段。
取得 MACsec 設定,然後記下與先前顯示的 CKN 值相對應的 CAK 值和鍵的開始時間:
gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
將
INTERCONNECT_CONNECTION_NAME
替換為 Cloud Interconnect 連線的名稱。輸出結果會與以下內容相似,請找出
ckn
:preSharedKeys: - name: key1 ckn: 0101010189abcdef...0123456789abcdef cak: 0123456789abcdef...0123456789abcdef startTime: 2023-07-01T12:12:12Z - name: key2 ckn: 0202020289abcdef...0123456789abcdef cak: 0123456789abcdef...0123456789abcdef startTime: 2023-08-01T12:12:12Z
請確認內部部署路由器上的有效 CKN、CAK 和開始時間,與 Cloud Interconnect 專用 MACsec 顯示的值相符。執行下列其中一個步驟:
如果值不相符,請參閱路由器的使用手冊,更新路由器上的值,然後確認是否可以建立 MACsec 工作階段。
如果值相符,但 MACsec 工作階段仍無法在連結上運作,請繼續進行下一個步驟。
查看指標,判斷 Cloud Interconnect 連線的輸入或輸出端是否會捨棄封包。如要瞭解如何查看指標,請參閱「監控連線」一文。
決定後續步驟時,請注意以下事項:
如果
network/interconnect/link/macsec/received_errors_count
增加,表示封包因錯誤而遭到捨棄,這表示內部部署路由器和 Google 邊緣路由器之間的通訊協定不相符。檢查內部部署路由器的記錄,以便進行疑難排解。如果下列任何計數器持續增加,請與Google Cloud 支援團隊聯絡,尋求進一步協助:
network/interconnect/link/macsec/received_dropped_packets_count
network/interconnect/link/macsec/send_errors_count
network/interconnect/link/macsec/send_dropped_packets_count
如果下列計數器都沒有增加,表示封包在內部路由器的出口處遭到捨棄。檢查內部部署路由器的記錄,以便排除問題。
network/interconnect/receive_errors_count
network/interconnect/received_unicast_packets_count
network/interconnect/link/macsec/received_control_packets_count
network/interconnect/link/macsec/received_data_packets_count
network/interconnect/link/macsec/received_errors_count
network/interconnect/link/macsec/received_dropped_packets_count
MACsec 運作正常,但發生封包遺失
您已成功啟用 Cloud Interconnect 適用的 MACsec,且 MACsec 已啟用,但仍發生封包遺失問題。
如果 MACsec 連線可正常運作,但 Cloud Interconnect 的 Link Aggregation Control Protocol (LACP) 狀態為 Detached
,請確認內部部署路由器已啟用安全通道 ID (SCI)。詳情請參閱「設定內部部署路由器」。
查看指標,判斷 Cloud Interconnect 連線的輸入或輸出端是否會遺失封包。如要瞭解如何查看指標,請參閱「監控連線」。如果 Cloud Interconnect 連線未顯示任何封包錯誤或遺失,請繼續檢查 MACsec 路由器:
如果
network/interconnect/link/macsec/received_errors_count
增加,則封包會因錯誤而於 Cloud Interconnect 入口連線中捨棄。這表示內部部署路由器和 Google 邊緣路由器之間的通訊協定不相符。請查看內部部署路由器的記錄,以便排除問題。如果下列任何計數器都持續增加,請與 Google Cloud支援團隊聯絡,尋求進一步協助:
network/interconnect/link/macsec/received_dropped_packets_count
network/interconnect/link/macsec/send_errors_count
network/interconnect/link/macsec/send_dropped_packets_count
如果沒有任何下列計數器增加,表示封包是在內部部署路由器的出口處掉落。檢查地端部署系統路由器的記錄檔,以便排解問題。
network/interconnect/receive_errors_count
network/interconnect/received_unicast_packets_count
network/interconnect/link/macsec/received_control_packets_count
network/interconnect/link/macsec/received_data_packets_count
network/interconnect/link/macsec/received_errors_count
network/interconnect/link/macsec/received_dropped_packets_count
在啟用失敗開啟行為時,排解 MACsec 問題
如果您為 Cloud Interconnect 啟用 MACsec 並設定失敗時啟用行為,即使無法成功建立 MACsec 工作階段,Cloud Interconnect 連線也會繼續轉送流量。我們強烈建議您避免在正式版 Cloud Interconnect 連線上使用失敗開啟行為,以免以純文字傳輸封包。
如要判斷 MACsec 連線的設定和狀態,請執行下列操作:
如要確認 Cloud Interconnect 連線狀態,請選取下列任一選項:
主控台
在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。
選取要查看的 Cloud Interconnect 連線。
在「MACsec」分頁中,確認「MACsec 設定」顯示「已啟用,失敗時開啟」。
gcloud
gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
將
INTERCONNECT_CONNECTION_NAME
替換為 Cloud Interconnect 連線的名稱。輸出結果會與下列內容相似,請找出
macsec failOpen
設為true
,以及macsecEnabled
設為true
:availableFeatures: - IF_MACSEC adminEnabled: true 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 Customer description: <something> googleReferenceId: '123456789' id: '12345678987654321' interconnectAttachments: - https://www.googleapis.com/compute/prod/projects/my-project1/regions/us-central1/interconnectAttachments/interconnect-123456-123456789-0 interconnectType: IT_PRIVATE kind: compute#interconnect labelFingerprint: 42WmSpB8rSM= linkType: LINK_TYPE_ETHERNET_10G_LR location: https://www.googleapis.com/compute/prod/projects/my-project1/global/interconnectLocations/cbf-zone2-65012 macsec: failOpen: true preSharedKeys: - name: key3 startTime: '2023-07-01T21:00:01.000Z' macsecEnabled: true name: INTERCONNECT_CONNECTION_NAME operationalStatus: OS_ACTIVE provisionedLinkCount: 1 requestedFeatures: - IF_MACSEC requestedLinkCount: 1 selfLink: https://www.googleapis.com/compute/prod/projects/my-project1/global/interconnects/INTERCONNECT_CONNECTION_NAME selfLinkWithId: https://www.googleapis.com/compute/prod/projects/my-project1/global/interconnects/INTERCONNECT_CONNECTION_NAME/12345678987654321 state: ACTIVE
在這個範例中,
macsec.failopen
會顯示true
,macsecEnabled
則會顯示true
。如要檢查 Cloud Interconnect 連線的連接埠狀態、MACsec 運作狀態和有效金鑰名稱,請選取下列任一選項:
主控台
在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。
選取要查看的 Cloud Interconnect 連線。
在「連結電路資訊」中,確認「連結狀態」顯示所有連結的
「啟用」。確認「MACsec 金鑰名稱」顯示所有連結的金鑰名稱,且每個金鑰名稱都顯示「
MACsec on this link is up」或「 MACsec on this link is down」。
gcloud
gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \ --project=PROJECT_NAME
將
PROJECT_NAME
替換為您的Google Cloud 專案名稱。輸出結果會與下列內容相似,請找出將
bundleOperationalStatus
設為BUNDLE_OPERATIONAL_STATUS_UP
、將state
設為ACTIVE
,以及將macsec
ckn
operational
設為false
的部分:bundleAggregationType: BUNDLE_AGGREGATION_TYPE_LACP bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP links: - circuitId: LOOP-0 googleDemarc: fake-local-demarc-0 lacpStatus: googleSystemId: '00:11:22:33:44:55' neighborSystemId: '55:44:33:22:11:00' state: ACTIVE macsec: ckn: 0101010189abcdef...0123456789abcdef operational: false operationalStatus: LINK_OPERATIONAL_STATUS_UP receivingOpticalPower: state: OK value: -2.49 transmittingOpticalPower: state: OK value: -0.88 macAddress: 00:11:22:33:44:55
在這個例子中:
bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP
表示套件已啟用。links.lacpStatus.state: ACTIVE
表示 LACP 成員連結已啟用。links.macsec.operational: false
表示 MACsec 已停止運作。
在這種情況下,由於已啟用失敗時開啟的行為,因此不會捨棄 LACP 控制封包。
如果
links.macsec.ckn
沒有顯示值,請向Google Cloud 支援團隊尋求協助。gcloud compute interconnects get-diagnostics
指令會顯示有效鍵的 CKN 值。如果您設定了多個鍵,系統會選取最晚開始時間的鍵做為有效鍵。Google 邊緣路由器會拒絕任何嘗試使用舊版金鑰的新 MACsec 工作階段。如要取得 MACsec 設定,並記下與先前顯示的 CKN 值相對應的 CAK 值和索引鍵開始時間,請選取下列任一選項:
主控台
在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下有效金鑰旁的「查看」。如果未顯示金鑰的 CAK 和 CKN 值,請與 Google Cloud 支援團隊聯絡,尋求協助。
在「預先共用金鑰」部分,確認有效金鑰的開始時間與內部 Router 的開始時間相符。
gcloud
執行下列指令:
gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
輸出結果會與下列內容相似,請找出
preSharedKeys
name
ckn
:preSharedKeys: - name: key1 ckn: 0101010189abcdef...0123456789abcdef cak: 0123456789abcdef...0123456789abcdef startTime: 2023-07-01T12:12:12Z - name: key2 ckn: 0202020289abcdef...0123456789abcdef cak: 0123456789abcdef...0123456789abcdef startTime: 2023-08-01T12:12:12Z
確認內部部署路由器上的有效 CKN、CAK 和開始時間,與 Cloud Interconnect 專用 MACsec 顯示的值相符。
執行下列其中一個步驟:
如果值不相符,請參閱路由器的使用手冊,更新路由器上的值,然後確認是否可以建立 MACsec。
如果值相符,但 MACsec 工作階段仍無法在連結上運作,請繼續進行下一個步驟。
查看指標,觀察 Cloud Interconnect 連線的封包計數器。如要進一步瞭解如何查看指標,請參閱「監控連線」。
啟用 MACsec 故障開啟行為後,系統會遞增下列計數器:
network/interconnect/sent_unicast_packets_count
network/interconnect/received_unicast_packets_count
啟用 MACsec 失敗開啟行為後,下列計數器不會遞增:
network/interconnect/link/macsec/received_control_packets_count
network/interconnect/link/macsec/received_data_packets_count
network/interconnect/link/macsec/sent_control_packets_count
network/interconnect/link/macsec/sent_data_packets_count
決定後續步驟時,請注意以下事項:
如果
network/interconnect/link/macsec/received_errors_count
增加,表示封包因錯誤而遭到捨棄,這表示內部部署路由器和 Google 邊緣路由器之間的通訊協定不相符。檢查內部部署路由器的記錄,以便進行疑難排解。如果下列任何計數器持續增加,請與Google Cloud 支援團隊聯絡,尋求進一步協助:
network/interconnect/link/macsec/received_dropped_packets_count
network/interconnect/link/macsec/send_errors_count
network/interconnect/link/macsec/send_dropped_packets_count
如果下列計數器都沒有增加,表示封包在內部路由器的出口處遭到捨棄。檢查內部部署路由器的記錄,以便排除問題。
network/interconnect/receive_errors_count
network/interconnect/received_unicast_packets_count
network/interconnect/link/macsec/received_errors_count
network/interconnect/link/macsec/received_dropped_packets_count