Risolvere i problemi relativi a MACsec

Questa pagina descrive come risolvere i problemi relativi a 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 provi a creare una nuova chiave, Cloud Interconnect mostra un errore. Per risolvere l'errore, aggiorna l'ora di inizio della chiave esistente.

MACsec è operativo in modo non disponibile nella mia connessione Cloud Interconnect

Hai abilitato MACsec correttamente sulla tua connessione Cloud Interconnect e sul tuo router on-premise, ma la sessione MACsec mostra che è operativo 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 tuo router on-premise e il router perimetrale di Google.

Per risolvere lo stato di MACsec:

  1. Per verificare che MACsec sia abilitato nella tua 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 MACsec mostri uno dei seguenti elementi:

      • Abilitata, errori di apertura:la crittografia MACsec è abilitata per il link. Se la crittografia MACsec non viene stabilita tra entrambe le estremità, il collegamento funziona senza crittografia.

      • Abilitata, chiusura non riuscita: la crittografia MACsec è abilitata nel link. Se la crittografia MACsec non viene stabilita tra entrambe le estremità, il collegamento non va a buon fine.

    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 sia 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 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 dei collegamenti, verifica che in Stato collegamento sia indicato lo stato Attivo per tutti i collegamenti.

    4. Verifica che Nome chiave MACsec mostri un nome della chiave per tutti i link e che per ogni nome della chiave sia indicato MACsec in questo link sia 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 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 per ricevere supporto.

  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, 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 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 qualsiasi nuova sessione MACsec che tenta di utilizzare chiavi vecchie.

    2. Ottieni la configurazione MACsec, quindi 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:

      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 il CKN, la CAK e gli orari 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 operativamente non presente nel collegamento, 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 aumenta, i pacchetti vengono eliminati alla connessione Cloud Interconnect in entrata a causa di errori. Questo indica una mancata corrispondenza di protocollo tra il tuo 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 è in aumento, 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 è incrementale, significa che i pacchetti vengono scartati in uscita dal router on-premise. Controlla i log del router on-premise per la risoluzione dei 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 si sta verificando la perdita di pacchetti

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

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

Visualizza le metriche per determinare se i pacchetti vengono persi sul traffico in entrata o in uscita della 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, passa a controllare i router MACsec:

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

  • Se uno dei seguenti contatori è in aumento, 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 aumenta, significa che i pacchetti vengono scartati in uscita dal router on-premise. Controlla i log del router on-premise per la risoluzione dei 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 relativi a MACsec quando è attivo il comportamento di fail-open

Se abiliti MACsec per Cloud Interconnect con comportamento di fail-open, la connessione Cloud Interconnect continuerà a inoltrare il traffico anche se non è possibile stabilire una sessione MACsec. Ti consigliamo vivamente di evitare di utilizzare un comportamento di fail-open sulle connessioni di produzione di Cloud Interconnect per evitare di trasmettere i pacchetti come testo 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 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, 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:

    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 della connessione Cloud Interconnect, lo stato operativo di MACsec e il nome della chiave attiva, 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 dei collegamenti, verifica che in Stato collegamento sia indicato lo stato Attivo per tutti i collegamenti.

    4. Verifica che Nome chiave MACsec mostri un nome della chiave per tutti i link e che per ogni nome della chiave sia indicato MACsec in questo link sia 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 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 membri LACP è attivo.
    • links.macsec.operational: false indica che MACsec è operativo non attivo.

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

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

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

  3. Per ottenere la configurazione MACsec, quindi 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, 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.

    2. Nella sezione Chiavi precondivise, verifica che l'ora di inizio elencata per la chiave attualmente attiva corrisponda a quella 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 il CKN, la CAK e gli orari 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 è possibile stabilire un MACsec ora.

      • Se i valori corrispondono, ma la sessione MACsec è ancora operativamente non presente nel collegamento, vai al passaggio successivo.

  4. Visualizza le metriche per osservare i contatori dei pacchetti per la tua connessione Cloud Interconnect. Per ulteriori informazioni sulla visualizzazione delle metriche, consulta Monitorare le connessioni.

    Quando il comportamento di errore di apertura di MACsec è abilitato, i seguenti contatori aumentano:

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

    Quando il comportamento di errore di apertura 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 aumenta, i pacchetti vengono eliminati alla connessione Cloud Interconnect in entrata a causa di errori. Questo indica una mancata corrispondenza di protocollo tra il tuo 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 è in aumento, 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 aumenta, può indicare che i pacchetti vengono scartati in uscita dal router on-premise. Controlla i log del router on-premise per la risoluzione dei 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?