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 provo a creare una nuova chiave

Se hai già una chiave MACsec senza 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 non è operativo sulla mia connessione Cloud Interconnect

Hai attivato MACsec sulla 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 fattori:

  • Le chiavi attive sul router on-premise e sui router di confine 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:

  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 MACsec mostri uno dei seguenti elementi:

      • Attivata, apertura in caso di errore: la crittografia MACsec è abilitata sul link. Se la crittografia MACsec non è stabilita tra entrambe le estremità, il link funziona senza crittografia.

      • Attivata, impossibile chiudere: la crittografia MACsec è abilitata sul collegamento. 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 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 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 sul circuito del link, verifica che in Stato del link sia visualizzato Attivo per tutti i link.

    4. Verifica che Nome chiave MACsec mostri un nome chiave per tutti i link e che ogni nome chiave mostri 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 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 alcun valore per links.macsec.ckn, contatta l'assistenza Google Cloud per ricevere aiuto.

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

    Console

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

    2. Nella sezione Chiavi pre-condivise, verifica che l'ora di inizio indicata per la chiave attiva corrisponda a quella sul router on-premise. Esegui una di queste 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ù chiavi, la chiave con l'ora di inizio più recente che non è nel futuro viene selezionata come chiave attiva. I router di confine di Google rifiutano le nuove sessioni MACsec che tentano di utilizzare chiavi vecchie.

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

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Sostituisci INTERCONNECT_CONNECTION_NAME con il nome della 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 il CKN, il CAK e le ore di inizio 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 aggiornarli e poi verifica se è possibile stabilire una sessione MACsec.

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

  4. Visualizza le metriche per determinare se i pacchetti vengono persi in entrata o in uscita della 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, significa che i pacchetti vengono eliminati nella connessione Cloud Interconnect in ingresso 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 i problemi.

    • Se uno dei seguenti contatori è in aumento, 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 è in aumento, significa che i pacchetti vengono persi all'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 presenta una perdita di pacchetti

Hai attivato correttamente MACsec per Cloud Interconnect e MACsec è operativo, ma stai riscontrando 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 di 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 vengono persi in entrata o in uscita della connessione Cloud Interconnect. Per informazioni su come visualizzare le metriche, vedi Monitorare le connessioni. Se la connessione Cloud Interconnect non mostra errori o perdite di pacchetti, procedi controllando i router MACsec:

  • Se network/interconnect/link/macsec/received_errors_count è in aumento, significa che i pacchetti vengono persi 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 di confine di Google. Controlla i log del router on-premise per risolvere il problema.

  • Se uno dei seguenti contatori è in aumento, 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 è in aumento, significa che i pacchetti vengono persi all'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

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

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

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 visualizzata la dicitura Attivato, fail open.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Sostituisci INTERCONNECT_CONNECTION_NAME con il nome della 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 mostra true e macsecEnabled mostra true.

  2. Per controllare lo stato della porta, lo stato operativo 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 sul circuito del link, verifica che in Stato del link sia visualizzato Attivo per tutti i link.

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

    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 del membro LACP è attivo.
    • links.macsec.operational: false indica che MACsec non è attivo.

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

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

    Il comando gcloud compute interconnects get-diagnostics mostra 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 di confine di Google rifiutano le nuove sessioni MACsec che tentano di utilizzare le chiavi precedenti.

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

    2. Nella sezione Chiavi pre-condivise, verifica che l'ora di inizio indicata per la chiave attiva corrisponda a quella del 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 il CKN, il CAK e le ore di inizio 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 aggiornarli e poi verifica se ora è possibile stabilire un protocollo MACsec.

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

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

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

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

    Quando il comportamento di fail-open 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 aumento, significa che i pacchetti vengono eliminati nella connessione Cloud Interconnect in ingresso 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 i problemi.

    • Se uno dei seguenti contatori è in aumento, 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 è in aumento, è possibile che i pacchetti vengano persi all'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

Passaggi successivi