Risolvere i problemi relativi a MACsec

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

Cloud Interconnect visualizza un errore quando provo a creare una nuova chiave

Se disponi di una chiave MACsec esistente senza ora di inizio e provi a creare una nuova chiave, Cloud Interconnect visualizza un errore. Per risolvere l'errore, aggiorna l'ora di inizio della chiave esistente.

MACsec è operativamente inattivo sulla mia connessione Cloud Interconnect

Hai abilitato MACsec correttamente sulla connessione Cloud Interconnect e sul router on-premise, ma la sessione MACsec indica che è operativamente inattivo sui link di connessione Cloud Interconnect. Il problema potrebbe essere causato da una delle seguenti cause:

  • 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 MACsec, segui questi passaggi:

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

    Console

    1. Nella console Google Cloud, 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 la configurazione di MACsec mostri una delle seguenti opzioni:

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

      • Abilitata, fail chiuso: la crittografia MACsec è abilitata sul link. Se la crittografia MACsec non viene stabilita tra le due estremità, il collegamento 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 macsecEnabled: true sia visualizzato:

    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 di Cloud Interconnect, lo stato operativo di MACsec e il nome della chiave attiva, utilizza una delle seguenti opzioni:

    Console

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

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. In Informazioni sui circuiti di collegamento, verifica che lo Stato del collegamento mostri Attivo per tutti i collegamenti.

    4. Verifica che il nome della chiave MACsec mostri un nome della chiave per tutti i link e che ogni nome della chiave mostri MACsec in questo link oppure 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 progetto Google Cloud.

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

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

    Console

    1. Nella scheda MACsec, vai alla sezione Chiavi precondivise, quindi fai clic su Visualizza accanto alla chiave attualmente attiva. Se non visualizzi un valore CKN, contatta l'assistenza Google Cloud.

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

      • Se i valori non corrispondono, consulta il manuale del router per aggiornare i valori sul router, quindi verifica se è possibile stabilire una sessione MACsec.

      • Se i valori corrispondono, ma la sessione MACsec è ancora operativa dal 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, quella con l'ora di inizio più recente che non è nel futuro verrà selezionata come chiave attiva. I router perimetrali di Google rifiutano le nuove sessioni MACsec che tentano di utilizzare chiavi precedenti.

    2. Ottieni la configurazione MACsec, quindi prendi nota del valore CAK e dell'ora di inizio della chiave che corrispondono 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:

      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 CKN, CAK e ore di avvio attivi sul router on-premise corrispondano ai valori visualizzati da MACsec per Cloud Interconnect. Esegui una di queste operazioni:

      • Se i valori non corrispondono, consulta il manuale del router per aggiornare i valori sul router, quindi verifica se è possibile stabilire una sessione MACsec.

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

  4. Visualizza le metriche per determinare se i pacchetti sono 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 fase di incremento, i pacchetti vengono eliminati nella connessione Cloud Interconnect in entrata a causa di errori. Questo indica che esiste una mancata corrispondenza di protocollo tra il router on-premise e i router perimetrali di Google. Controlla i log del router on-premise per risolvere i problemi.

    • Se uno dei seguenti contatori sta incrementando, contatta l'assistenza Google Cloud per ulteriore supporto:

      • 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 sta incrementando, significa che i pacchetti vengono eliminati durante il traffico in uscita del router on-premise. Controlla i log del router on-premise per risolvere i problemi.

      • 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 sta riscontrando la perdita di pacchetti

Hai abilitato MACsec per Cloud Interconnect e MACsec è operativo, ma stai riscontrando la perdita di pacchetti.

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

Visualizza le metriche per determinare se i pacchetti arrivano in entrata o in uscita della connessione Cloud Interconnect. Per informazioni sulla visualizzazione delle metriche, vedi Monitorare le connessioni. Se la connessione Cloud Interconnect non mostra errori o perdite di pacchetti, procedi con il controllo dei router MACsec:

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

  • Se uno dei seguenti contatori sta incrementando, contatta l'assistenza Google Cloud per 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 sta incrementando, significa che i pacchetti vengono eliminati durante il traffico in uscita del router on-premise. Controlla i log del router on-premise per risolvere i problemi.

    • 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

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

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

Per determinare la configurazione e lo stato della connessione MACsec, segui questi passaggi:

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

    Console

    1. Nella console Google Cloud, 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, apertura non riuscita.

    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:

    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 mostra true e macsecEnabled mostra true.

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

    Console

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

      Vai a Connessioni fisiche

    2. Seleziona la connessione Cloud Interconnect che vuoi visualizzare.

    3. In Informazioni sui circuiti di collegamento, verifica che lo Stato del collegamento mostri Attivo per tutti i collegamenti.

    4. Verifica che il nome della chiave MACsec mostri un nome della chiave per tutti i link e che ogni nome della chiave mostri MACsec in questo link oppure 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 progetto Google Cloud.

    L'output è simile al seguente:

      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 per i membri LACP è attivo.
    • links.macsec.operational: false indica che MACsec è operativamente inattivo.

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

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

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

  3. Per ottenere la configurazione MACsec, quindi annota il valore CAK e l'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, quindi fai clic su Visualizza accanto alla chiave attualmente attiva. Se i valori CAK e CKN della chiave non vengono visualizzati, contatta l'assistenza Google Cloud per ricevere aiuto.

    2. Nella sezione Chiavi precondivise, verifica che l'ora di inizio elencata per la chiave attualmente 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:

      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 CKN, CAK e ore di avvio attivi sul router on-premise corrispondano ai valori visualizzati da MACsec per Cloud Interconnect.

    3. Esegui una di queste operazioni:

      • Se i valori non corrispondono, consulta il manuale del router per aggiornare i valori sul router, quindi verifica se ora è possibile stabilire un MACsec.

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

  4. Visualizza le metriche per osservare i contatori di pacchetti per la connessione Cloud Interconnect. Per scoprire di più sulla visualizzazione delle metriche, consulta Monitorare le connessioni.

    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 vengono incrementati:

    • 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 fase di incremento, i pacchetti vengono eliminati nella connessione Cloud Interconnect in entrata a causa di errori. Questo indica che esiste una mancata corrispondenza di protocollo tra il router on-premise e i router perimetrali di Google. Controlla i log del router on-premise per risolvere i problemi.

    • Se uno dei seguenti contatori sta incrementando, contatta l'assistenza Google Cloud per ulteriore supporto:

      • 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 sta incrementando, può indicare che i pacchetti stanno per essere eliminati durante il traffico in uscita del router on-premise. Controlla i log del router on-premise per risolvere i problemi.

      • 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

Che cosa succede dopo?