בדף הזה מוסבר איך לפתור בעיות ב-MACsec ב-Cloud Interconnect.
מוצגת שגיאה ב-Cloud Interconnect כשאני מנסה ליצור מפתח חדש
אם יש לכם מפתח MACsec קיים ללא שעת התחלה ואתם מנסים ליצור מפתח חדש, Cloud Interconnect יציג שגיאה. כדי לפתור את השגיאה, מעדכנים את שעת ההתחלה של המפתח הקיים.
חיבור Cloud Interconnect שלי לא פועל ב-MACsec
הפעלתם בהצלחה את MACsec בחיבור Cloud Interconnect ובנתב המקומי, אבל במקטע MACsec מוצג שהחיבור לא פעיל בקישורי Cloud Interconnect. הסיבות האפשריות לבעיה:
- המפתחות הפעילים בנתב המקומי ובנתבי הקצה של Google לא זהים.
- קיימת אי התאמה בפרוטוקול MACsec בין הנתב המקומי לבין נתב הקצה של Google.
כדי לפתור את הבעיה בסטטוס של MACsec:
כדי לוודא ש-MACsec מופעל בחיבור Cloud Interconnect, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף 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 שרוצים לראות.
בקטע Link circuit info, מוודאים שבקטע Link state מופיע הערך Active לכל הקישורים.
מוודאים שבשם מפתח MACsec מוצג שם מפתח לכל הקישורים, ושבכל שם מפתח מוצג MACsec בקישור הזה פועל או MACsec בקישור הזה לא פועל.
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, עוברים לקטע Pre-shared keys ולוחצים על View לצד המפתח הפעיל. אם ערך ה-CKN לא מוצג, אפשר לפנות לתמיכה של Google Cloud לקבלת עזרה.
בקטע מפתחות משותפים מראש, מוודאים שזמן ההתחלה שמופיע עבור המפתח הפעיל זהה לזמן ההתחלה בנתב המקומי. מבצעים אחת מהפעולות הבאות:
אם הערכים לא זהים, צריך לעיין במדריך של הנתב כדי לעדכן את הערכים בנתב, ואז לוודא שאפשר ליצור סשן MACsec.
אם הערכים זהים אבל סשן ה-MACsec עדיין לא פעיל בקישור, ממשיכים לשלב הבא.
gcloud
מריצים את הפקודה
gcloud compute interconnects get-diagnosticsכדי להציג את ערך ה-CKN של המפתח הפעיל.אם הגדרתם יותר ממפתח אחד, המפתח עם זמן ההתחלה האחרון שלא חל בעתיד נבחר כמפתח הפעיל. נתבים של Google דוחים סשנים חדשים של MACsec שמנסים להשתמש במפתחות ישנים.
מקבלים את הגדרת ה-MACsec ורושמים את ערך ה-CAK ואת זמן ההתחלה של המפתח שמתאימים לערך ה-CKN שהוצג קודם:
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 וזמני ההתחלה הפעילים בנתב המקומי תואמים לערכים שמוצגים ב-MACsec for Cloud Interconnect. מבצעים אחת מהפעולות הבאות:
אם הערכים לא זהים, צריך לעיין במדריך של הנתב כדי לעדכן את הערכים בנתב, ואז לוודא שאפשר ליצור סשן MACsec.
אם הערכים זהים אבל הסשן של MACsec עדיין לא פעיל בקישור, ממשיכים לשלב הבא.
בודקים את המדדים כדי לראות אם חבילות נשמטות בתעבורת נתונים נכנסת (ingress) או בתעבורת נתונים יוצאת (egress) של חיבור Cloud Interconnect. מידע על צפייה במדדים זמין במאמר מעקב אחרי חיבורים.
כדי להחליט לגבי השלבים הבאים, צריך:
אם הערך של
network/interconnect/link/macsec/received_errors_countעולה, המשמעות היא שהמנות נשמטות בחיבור Cloud Interconnect בכניסה בגלל שגיאות. המשמעות היא שיש חוסר התאמה בפרוטוקול בין הנתב המקומי לבין נתבי הקצה של Google. כדי לפתור בעיות, בודקים את היומנים של הנתב המקומי.אם אחד מהמונים הבאים גדל, צריך לפנות אלGoogle Cloud התמיכה לקבלת עזרה נוספת:
network/interconnect/link/macsec/received_dropped_packets_countnetwork/interconnect/link/macsec/send_errors_countnetwork/interconnect/link/macsec/send_dropped_packets_count
אם אף אחד מהמונים הבאים לא גדל, סימן שהמנות נופלות בתעבורת הנתונים היוצאת (egress) של הנתב המקומי. כדי לפתור בעיות, בודקים את היומנים של הנתב המקומי.
network/interconnect/receive_errors_countnetwork/interconnect/received_unicast_packets_countnetwork/interconnect/link/macsec/received_control_packets_countnetwork/interconnect/link/macsec/received_data_packets_countnetwork/interconnect/link/macsec/received_errors_countnetwork/interconnect/link/macsec/received_dropped_packets_count
MACsec פועל ומתרחש אובדן מנות
הפעלתם בהצלחה את MACsec ל-Cloud Interconnect, והוא פועל, אבל אתם חווים אובדן מנות.
אם חיבור ה-MACsec פועל אבל הסטטוס של Link Aggregation Control Protocol (LACP) ב-Cloud Interconnect הוא Detached, צריך לוודא ש-Secure Channel Identifier (SCI) מופעל בנתב המקומי. מידע נוסף זמין במאמר בנושא הגדרת נתב מקומי.
בודקים את המדדים כדי לראות אם מנות נשמטות בתעבורת הנתונים הנכנסת (ingress) או בתעבורת הנתונים היוצאת (egress) של חיבור Cloud Interconnect. מידע על צפייה במדדים זמין במאמר מעקב אחרי חיבורים. אם בחיבור Cloud Interconnect לא מופיעות שגיאות או אובדן של מנות, צריך לבדוק את נתבי MACsec:
אם הערך של
network/interconnect/link/macsec/received_errors_countעולה, המשמעות היא שהמנות נשמטות בחיבור Cloud Interconnect בכניסה בגלל שגיאות. השגיאה הזו מציינת שיש חוסר התאמה בפרוטוקול בין הנתב המקומי לבין נתבי הקצה של Google. כדי לפתור בעיות, בודקים את היומנים של הנתב המקומי.אם אחד מהמונים הבאים גדל, צריך לפנות Google Cloud לתמיכה לקבלת עזרה נוספת:
network/interconnect/link/macsec/received_dropped_packets_countnetwork/interconnect/link/macsec/send_errors_countnetwork/interconnect/link/macsec/send_dropped_packets_count
אם אף אחד מהמונים הבאים לא גדל, סימן שהמנות נופלות בתעבורת הנתונים היוצאת (egress) של הנתב המקומי. כדי לפתור בעיות, כדאי לבדוק את היומנים של הנתב המקומי.
network/interconnect/receive_errors_countnetwork/interconnect/received_unicast_packets_countnetwork/interconnect/link/macsec/received_control_packets_countnetwork/interconnect/link/macsec/received_data_packets_countnetwork/interconnect/link/macsec/received_errors_countnetwork/interconnect/link/macsec/received_dropped_packets_count
פתרון בעיות ב-MACsec כשהתנהגות fail-open מופעלת
אם מפעילים את MACsec ל-Cloud Interconnect עם התנהגות fail-open, חיבור ה-Cloud Interconnect ממשיך להעביר תעבורה גם אם אי אפשר ליצור סשן MACsec בהצלחה. מומלץ מאוד להימנע משימוש בהתנהגות של מעבר למצב פתוח בחיבורים של Cloud Interconnect בסביבת ייצור, כדי להימנע מהעברת מנות כטקסט גלוי.
כדי לקבוע את התצורה והמצב של חיבור MACsec, מבצעים את הפעולות הבאות:
כדי לאמת את מצב החיבור של Cloud Interconnect, בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Cloud Interconnect Physical connections.
בוחרים את חיבור Cloud Interconnect שרוצים לראות.
בכרטיסייה MACsec, מוודאים שבקטע MACsec configuration (הגדרת MACsec) מופיע הערך Enabled, fail open (מופעל, פתוח במקרה של כשל).
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 שרוצים לראות.
בקטע Link circuit info, מוודאים שבקטע Link state מופיע הערך Active לכל הקישורים.
מוודאים שבשם מפתח MACsec מוצג שם מפתח לכל הקישורים, ושבכל שם מפתח מוצג MACsec בקישור הזה פועל או MACsec בקישור הזה לא פועל.
gcloud
gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \ --project=PROJECT_NAMEמחליפים את
PROJECT_NAMEבשם שלGoogle Cloud הפרויקט.הפלט אמור להיראות כך: מחפשים את
bundleOperationalStatusשמוגדר ל-BUNDLE_OPERATIONAL_STATUS_UP, אתstateשמוגדר ל-ACTIVEואתmacseccknoperationalשמוגדר ל-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 לא פועל.
במקרה הזה, מכיוון שהתנהגות fail-open מופעלת, מנות הבקרה של LACP לא מושמטות.
אם לא מוצג ערך עבור
links.macsec.ckn, צריך לפנות אלGoogle Cloud התמיכה לקבלת עזרה.הפקודה
gcloud compute interconnects get-diagnosticsמציגה את ערך ה-CKN של המפתח הפעיל. אם הגדרתם יותר ממפתח אחד, המפתח עם זמן ההתחלה האחרון נבחר כמפתח הפעיל. נתבי הקצה של Google דוחים כל סשן חדש של MACsec שמנסה להשתמש במפתחות הישנים.כדי לקבל את הגדרת ה-MACsec, ואז לרשום את ערך ה-CAK ואת זמן ההתחלה של המפתח שמתאימים לערך ה-CKN שהוצג קודם, בוחרים באחת מהאפשרויות הבאות:
המסוף
בכרטיסייה MACsec, עוברים לקטע Pre-shared keys ולוחצים על View לצד המפתח הפעיל. אם ערכי ה-CAK וה-CKN של המפתח לא מוצגים, צריך לפנות לתמיכה של Google Cloud לקבלת עזרה.
בקטע מפתחות ששותפו מראש, מוודאים שזמן ההתחלה שמופיע עבור המפתח הפעיל תואם לזמני ההתחלה בנתב המקומי.
gcloud
מריצים את הפקודה הבאה:
gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAMEהפלט אמור להיראות כך. מחפשים את
preSharedKeysnameckn: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 וזמני ההתחלה הפעילים בנתב המקומי תואמים לערכים שמוצגים ב-MACsec for Cloud Interconnect.
מבצעים אחת מהפעולות הבאות:
אם הערכים לא זהים, צריך לעיין במדריך של הנתב כדי לעדכן את הערכים בנתב, ואז לוודא שאפשר להגדיר MACsec.
אם הערכים זהים אבל הסשן של MACsec עדיין לא פעיל בקישור, ממשיכים לשלב הבא.
צפייה במדדים כדי לראות את מוני החבילות בחיבור Cloud Interconnect. מידע נוסף על הצגת מדדים זמין במאמר מעקב אחרי חיבורים.
כשמפעילים את ההתנהגות של MACsec במקרה של כשל, הערכים של המונים הבאים גדלים:
network/interconnect/sent_unicast_packets_countnetwork/interconnect/received_unicast_packets_count
כשמופעלת התנהגות של פתיחה במקרה של כשל ב-MACsec, הערכים של המונים הבאים לא עולים:
network/interconnect/link/macsec/received_control_packets_countnetwork/interconnect/link/macsec/received_data_packets_countnetwork/interconnect/link/macsec/sent_control_packets_countnetwork/interconnect/link/macsec/sent_data_packets_count
כדי להחליט לגבי השלבים הבאים, צריך:
אם הערך של
network/interconnect/link/macsec/received_errors_countעולה, המשמעות היא שהמנות נשמטות בחיבור Cloud Interconnect בכניסה בגלל שגיאות. המשמעות היא שיש חוסר התאמה בפרוטוקול בין הנתב המקומי לבין נתבי הקצה של Google. כדי לפתור בעיות, בודקים את היומנים של הנתב המקומי.אם אחד מהמונים הבאים גדל, צריך לפנות אלGoogle Cloud התמיכה לקבלת עזרה נוספת:
network/interconnect/link/macsec/received_dropped_packets_countnetwork/interconnect/link/macsec/send_errors_countnetwork/interconnect/link/macsec/send_dropped_packets_count
אם אף אחד מהמונים הבאים לא גדל, יכול להיות שהמנות נופלות בתעבורת הנתונים היוצאת (egress) של הנתב המקומי. כדי לפתור בעיות, בודקים את היומנים של הנתב המקומי.
network/interconnect/receive_errors_countnetwork/interconnect/received_unicast_packets_countnetwork/interconnect/link/macsec/received_errors_countnetwork/interconnect/link/macsec/received_dropped_packets_count