Risolvere i problemi relativi a MACsec

Questa pagina descrive come risolvere i problemi di MACsec per Cloud Interconnect.

Cloud Interconnect mostra un errore quando tento di creare una nuova chiave

Se hai una chiave MACsec esistente senza un'ora di inizio e tenti di creare una nuova chiave, Cloud Interconnect mostra un errore. Per risolvere l' errore, aggiorna l'ora di inizio della chiave esistente.

MACsec non è operativo sulla mia connessione Cloud Interconnect

Hai abilitato correttamente MACsec sulla tua connessione Cloud Interconnect e sul tuo router on-premise, ma la sessione MACsec indica che non è operativa sui link di connessione Cloud Interconnect. Il problema potrebbe essere causato da uno dei seguenti motivi:

  • Le chiavi attive sul router on-premise e sui router perimetrali di Google non corrispondono.
  • Esiste una mancata corrispondenza del protocollo MACsec tra il router on-premise e il router perimetrale di Google.

Per risolvere lo stato di MACsec:

  1. Per verificare che MACsec sia abilitato sulla tua connessione Cloud Interconnect, seleziona una delle seguenti opzioni:

    Console

    1. Nella Google Cloud console, vai alla scheda Connessioni fisiche di Cloud Interconnect.

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. Nella scheda MACsec, verifica che in Configurazione MACsec sia visualizzata una delle seguenti opzioni:

      • Abilitata, impossibile aprire: la crittografia MACsec è abilitata sul link. Se la crittografia MACsec non è stabilita tra le due estremità, il link funziona senza crittografia.

      • Abilitata, impossibile chiudere: la crittografia MACsec è abilitata sul link. Se la crittografia MACsec non è stabilita tra le due estremità, il link non funziona.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Sostituisci INTERCONNECT_CONNECTION_NAME con il nome della tua connessione Cloud Interconnect.

    L'output è simile al seguente. Verifica che venga visualizzato 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
    
  2. Per controllare lo stato della porta Cloud Interconnect, lo stato operativo di MACsec e il nome della chiave attiva, utilizza una delle seguenti opzioni:

    Console

    1. Nella Google Cloud console, vai alla scheda Connessioni fisiche di Cloud Interconnect.

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. In Informazioni sul circuito di collegamento, verifica che in Stato del link sia visualizzato Attivo per tutti i link.

    4. Verifica che Nome chiave MACsec sia visualizzato un nome chiave per tutti i link e che ogni nome chiave visualizzi MACsec in questo link è attivo o MACsec in questo link non è attivo.

    gcloud

    gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \
        --project=PROJECT_NAME
    

    Sostituisci PROJECT_NAME con il nome del tuo Google Cloud progetto.

    L'output è simile al seguente. Verifica che links.lacpStatus.state visualizzi ACTIVE, che links.macsec.ckn visualizzi un valore e che links.operationalStatus visualizzi 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
    

    Se non viene visualizzato un valore per links.macsec.ckn, contatta Google Cloud l'assistenza per ricevere aiuto.

  3. Per verificare i valori CAK e CKN della chiave attiva e l'ora di inizio della chiave, seleziona una delle seguenti opzioni:

    Console

    1. Nella scheda MACsec , vai alla sezione Chiavi precondivise e fai clic su Visualizza accanto alla chiave attiva. Se non viene visualizzato un valore CKN, contatta l' Google Cloud assistenza per ricevere aiuto.

    2. Nella sezione Chiavi precondivise, verifica che l'ora di inizio elencata per la chiave attiva corrisponda all'ora di inizio sul router on-premise. Esegui una delle seguenti operazioni:

      • Se i valori non corrispondono, consulta il manuale del router per aggiornarli e poi verifica se è possibile stabilire una sessione MACsec.

      • Se i valori corrispondono, ma la sessione MACsec non è ancora operativa sul link, vai al passaggio successivo.

    gcloud

    1. Esegui il comando gcloud compute interconnects get-diagnostics per visualizzare il valore CKN della chiave attiva.

      Se hai configurato più di una chiave, viene selezionata come chiave attiva quella con l'ora di inizio più recente che non è nel futuro. I router perimetrali di Google rifiutano tutte le nuove sessioni MACsec che tentano di utilizzare le chiavi precedenti.

    2. Ottieni la configurazione MACsec e poi prendi nota del valore CAK e dell'ora di inizio della chiave corrispondenti al valore CKN visualizzato in precedenza:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Sostituisci INTERCONNECT_CONNECTION_NAME con il nome della tua connessione Cloud Interconnect.

      L'output è simile al seguente; cerca 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
      
    3. Verifica che i valori CKN, CAK e le ore di inizio attivi sul router on-premise corrispondano ai valori visualizzati da MACsec per Cloud Interconnect. Esegui una delle seguenti operazioni:

      • Se i valori non corrispondono, consulta il manuale del router per aggiornarli e poi verifica se è possibile stabilire una sessione MACsec.

      • Se i valori corrispondono, ma la sessione MACsec non è ancora operativa sul link, vai al passaggio successivo.

  4. Visualizza le metriche per determinare se i pacchetti vengono eliminati in entrata o in uscita dalla connessione Cloud Interconnect. Per informazioni sulla visualizzazione delle metriche, consulta Monitorare le connessioni.

    Per determinare i passaggi successivi:

    • Se network/interconnect/link/macsec/received_errors_count è in aumento, i pacchetti vengono eliminati nella connessione Cloud Interconnect in entrata a causa di errori. Ciò indica che esiste una mancata corrispondenza del protocollo tra il router on-premise e i router perimetrali di Google. Controlla i log del router on-premise per risolvere il problema.

    • Se uno dei seguenti contatori è in aumento, contatta Google Cloud l'assistenza per ricevere ulteriore aiuto:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Se nessuno dei seguenti contatori è in aumento, significa che i pacchetti vengono eliminati in uscita dal router on-premise. Controlla i log del router on-premise per risolvere il problema.

      • 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 è operativo e si verifica una perdita di pacchetti

Hai abilitato correttamente MACsec per Cloud Interconnect e MACsec è operativo, ma si verifica una perdita di pacchetti.

Se la connessione MACsec è operativa, ma lo stato del protocollo LACP (Link Aggregation Control Protocol) di Cloud Interconnect è Detached, verifica che l'identificatore del canale sicuro (SCI) sia abilitato sul router on-premise. Per saperne di più, consulta Configurare il router on-premise.

Visualizza le metriche per determinare se i pacchetti vengono eliminati in entrata o in uscita dalla connessione Cloud Interconnect. Per informazioni sulla visualizzazione delle metriche, consulta Monitorare le connessioni. Se la connessione Cloud Interconnect non mostra errori o perdite di pacchetti, procedi al controllo dei router MACsec:

  • Se network/interconnect/link/macsec/received_errors_count è in aumento, i pacchetti vengono eliminati nella connessione Cloud Interconnect in entrata a causa di errori. Ciò indica che esiste una mancata corrispondenza del protocollo tra il router on-premise e i router perimetrali di Google. Controlla i log del router on-premise per risolvere il problema.

  • Se uno dei seguenti contatori è in aumento, contatta Google Cloud l'assistenza per ricevere ulteriore aiuto:

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • Se nessuno dei seguenti contatori è in aumento, significa che i pacchetti vengono eliminati in uscita dal router on-premise. Controlla i log del router on-premise per risolvere il problema.

    • 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

Risolvere i problemi di MACsec quando è abilitato il comportamento di fail-open

Se abiliti MACsec per Cloud Interconnect con il comportamento di fail-open, la connessione Cloud Interconnect continua a inoltrare il traffico anche se non è possibile stabilire correttamente una sessione MACsec. Ti consigliamo vivamente di evitare di utilizzare il comportamento di fail-open sulle connessioni Cloud Interconnect di produzione per evitare di trasmettere i pacchetti come dati in chiaro.

Per determinare la configurazione e lo stato della connessione MACsec:

  1. Per verificare lo stato della connessione Cloud Interconnect, seleziona una delle seguenti opzioni:

    Console

    1. Nella Google Cloud console, vai alla scheda Connessioni fisiche di Cloud Interconnect.

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. Nella scheda MACsec, verifica che in Configurazione MACsec sia visualizzato Abilitata, impossibile aprire.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Sostituisci INTERCONNECT_CONNECTION_NAME con il nome della tua connessione Cloud Interconnect.

    L'output è simile al seguente; cerca macsec failOpen impostato su true e macsecEnabled impostato su 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
    

    In questo esempio, macsec.failopen visualizza true e macsecEnabled visualizza true.

  2. Per controllare lo stato della porta della connessione Cloud Interconnect, lo stato operativo di MACsec e il nome della chiave attiva, seleziona una delle seguenti opzioni:

    Console

    1. Nella Google Cloud console, vai alla scheda Connessioni fisiche di Cloud Interconnect.

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. In Informazioni sul circuito di collegamento, verifica che in Stato del link sia visualizzato Attivo per tutti i link.

    4. Verifica che Nome chiave MACsec sia visualizzato un nome chiave per tutti i link e che ogni nome chiave visualizzi MACsec in questo link è attivo o MACsec in questo link non è attivo.

    gcloud

    gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \
        --project=PROJECT_NAME
    

    Sostituisci PROJECT_NAME con il nome del tuo Google Cloud progetto.

    L'output è simile al seguente; cerca bundleOperationalStatus impostato su BUNDLE_OPERATIONAL_STATUS_UP, state impostato su ACTIVE e macsec ckn operational impostato su 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
    

    In questo esempio:

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP indica che il bundle è operativo.
    • links.lacpStatus.state: ACTIVE indica che il link membro LACP è attivo.
    • links.macsec.operational: false indica che MACsec non è operativo.

    In questo caso, poiché il comportamento di fail-open è abilitato, i pacchetti di controllo LACP non vengono eliminati.

    Se non viene visualizzato un valore per links.macsec.ckn, contatta Google Cloud l'assistenza per ricevere aiuto.

    Il comando gcloud compute interconnects get-diagnostics visualizza il valore CKN della chiave attiva. Se hai configurato più di una chiave, viene selezionata come chiave attiva quella con l'ora di inizio più recente. I router perimetrali di Google rifiutano tutte le nuove sessioni MACsec che tentano di utilizzare le chiavi precedenti.

  3. Per ottenere la configurazione MACsec e poi prendere nota del valore CAK e dell'ora di inizio della chiave corrispondenti al valore CKN visualizzato in precedenza, seleziona una delle seguenti opzioni:

    Console

    1. Nella scheda MACsec , vai alla sezione Chiavi precondivise e fai clic su Visualizza accanto alla chiave attiva. Se i valori CAK e CKN della chiave non vengono visualizzati, contatta Google Cloud l'assistenza per ricevere aiuto.

    2. Nella sezione Chiavi precondivise, verifica che l'ora di inizio elencata per la chiave attiva corrisponda alle ore di inizio sul router on-premise.

    gcloud

    1. Esegui questo comando:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      L'output è simile al seguente; cerca 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
      
    2. Verifica che i valori CKN, CAK e le ore di inizio attivi sul router on-premise corrispondano ai valori visualizzati da MACsec per Cloud Interconnect.

    3. Esegui una delle seguenti operazioni:

      • Se i valori non corrispondono, consulta il manuale del router per aggiornarli e poi verifica se è possibile stabilire una sessione MACsec.

      • Se i valori corrispondono, ma la sessione MACsec non è ancora operativa sul link, vai al passaggio successivo.

  4. Visualizza le metriche per osservare i contatori dei pacchetti per la connessione Cloud Interconnect. Per saperne di più sulla visualizzazione delle metriche, consulta Monitor connections.

    Quando il comportamento di fail-open di MACsec è abilitato, i seguenti contatori aumentano:

    • network/interconnect/sent_unicast_packets_count
    • network/interconnect/received_unicast_packets_count

    Quando il comportamento di fail-open di MACsec è abilitato, i seguenti contatori non aumentano:

    • 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

    Per determinare i passaggi successivi:

    • Se network/interconnect/link/macsec/received_errors_count è in aumento, i pacchetti vengono eliminati nella connessione Cloud Interconnect in entrata a causa di errori. Ciò indica che esiste una mancata corrispondenza del protocollo tra il router on-premise e i router perimetrali di Google. Controlla i log del router on-premise per risolvere il problema.

    • Se uno dei seguenti contatori è in aumento, contatta Google Cloud l'assistenza per ricevere ulteriore aiuto:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Se nessuno dei seguenti contatori è in aumento, significa che i pacchetti vengono eliminati in uscita dal router on-premise. Controlla i log del router on-premise per risolvere il problema.

      • 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

Passaggi successivi