Résoudre les problèmes liés à MACsec

Cette page explique comment résoudre les problèmes liés à MACsec pour Cloud Interconnect.

Cloud Interconnect affiche une erreur lorsque j'essaie de créer une clé

Si vous disposez d'une clé MACsec existante sans heure de début et que vous essayez de créer une clé, Cloud Interconnect affiche une erreur. Pour résoudre l'erreur, mettez à jour l'heure de début de la clé existante.

MACsec n'est pas opérationnel sur ma connexion Cloud Interconnect

Vous avez activé MACsec sur votre connexion Cloud Interconnect et sur votre routeur sur site, mais la session MACsec indique qu'elle n'est pas opérationnelle sur vos liens de connexion Cloud Interconnect. L'une des causes suivantes peut être à l'origine du problème :

  • Les clés actives de votre routeur sur site et de vos routeurs périphériques Google ne correspondent pas.
  • Une incohérence de protocole MACsec existe entre votre routeur sur site et le routeur périphérique de Google.

Pour résoudre l'état MACsec, procédez comme suit :

  1. Pour vérifier que MACsec est activé sur votre connexion Cloud Interconnect, sélectionnez l'une des options suivantes:

    Console

    1. Dans la console Google Cloud, accédez à l'onglet Connexions physiques de Cloud Interconnect.

      Accéder à l'onglet "Connexions physiques"

    2. Sélectionnez la connexion Cloud Interconnect à afficher.

    3. Dans l'onglet MACsec, vérifiez que la configuration MACsec affiche l'un des éléments suivants:

      • Activé, configuration ouverte ("fail open"):le chiffrement MACsec est activé sur le lien. Si le chiffrement MACsec n'est pas établi entre les deux extrémités, le lien fonctionne sans chiffrement.

      • Activé, configuration fermée ("fail closed") : le chiffrement MACsec est activé sur le lien. Si le chiffrement MACsec n'est pas établi entre les deux extrémités, le lien échoue.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Remplacez INTERCONNECT_CONNECTION_NAME par le nom de votre connexion Cloud Interconnect.

    Le résultat renvoyé ressemble à ceci : Vérifiez que macsecEnabled: true s'affiche :

    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. Pour vérifier l'état du port Cloud Interconnect, l'état opérationnel MACsec et le nom de la clé active, utilisez l'une des options suivantes:

    Console

    1. Dans la console Google Cloud, accédez à l'onglet Connexions physiques de Cloud Interconnect.

      Accéder à l'onglet "Connexions physiques"

    2. Sélectionnez la connexion Cloud Interconnect à afficher.

    3. Dans Informations sur les circuits de liaison, vérifiez que l'État de la liaison affiche Actif pour toutes les liaisons.

    4. Vérifiez que le nom de la clé MACsec affiche un nom de clé pour tous les liens et que chaque nom de clé affiche MACsec sur ce lien est activé ou MACsec sur ce lien est indisponible.

    gcloud

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

    Remplacez PROJECT_NAME par le nom de votre projet Google Cloud.

    Le résultat renvoyé ressemble à ceci : Vérifiez que links.lacpStatus.state affiche ACTIVE, que links.macsec.ckn affiche une valeur et que links.operationalStatus affiche 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
    

    Si aucune valeur n'est affichée pour links.macsec.ckn, contactez l'assistance Google Cloud pour obtenir de l'aide.

  3. Pour vérifier les valeurs CAK et CKN de la clé active, ainsi que l'heure de début de la clé, sélectionnez l'une des options suivantes:

    Console

    1. Dans l'onglet MACsec, accédez à la section Pre-shared keys (Clés prépartagées), puis cliquez sur View (Afficher) à côté de la clé active. Si aucune valeur CKN ne s'affiche, contactez l'assistance Google Cloud pour obtenir de l'aide.

    2. Dans la section Clés prépartagées, vérifiez que l'heure de début indiquée pour la clé active correspond à l'heure de début de votre routeur sur site. Effectuez l'une des opérations suivantes :

      • Si les valeurs ne correspondent pas, consultez le manuel de votre routeur pour mettre à jour les valeurs de votre routeur, puis vérifiez si une session MACsec peut être établie.

      • Si les valeurs correspondent, mais que la session MACsec n'est toujours pas opérationnelle sur le lien, passez à l'étape suivante.

    gcloud

    1. Exécutez la commande gcloud compute interconnects get-diagnostics pour afficher la valeur CKN de la clé active.

      Si plusieurs clés sont configurées, alors la clé avec la dernière heure de début qui n'est pas dans le futur est sélectionnée en tant que clé active. Les routeurs périphériques de Google rejettent toutes les nouvelles sessions MACsec qui tentent d'utiliser d'anciennes clés.

    2. Obtenez la configuration MACsec, puis notez la valeur CAK et l'heure de début de la clé correspondant à la valeur CKN précédemment affichée :

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Remplacez INTERCONNECT_CONNECTION_NAME par le nom de votre connexion Cloud Interconnect.

      Le résultat ressemble à ce qui suit. Recherchez 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. Vérifiez que les heures CKN, CAK et de démarrage actives de votre routeur sur site correspondent aux valeurs MACsec pour Cloud Interconnect. Effectuez l'une des opérations suivantes :

      • Si les valeurs ne correspondent pas, consultez le manuel de votre routeur pour mettre à jour les valeurs de votre routeur, puis vérifiez si une session MACsec peut être établie.

      • Si les valeurs correspondent, mais que la session MACsec n'est toujours pas opérationnelle sur le lien, passez à l'étape suivante.

  4. Affichez les métriques pour déterminer si les paquets sont supprimés au niveau de l'entrée ou de la sortie de la connexion Cloud Interconnect. Pour en savoir plus sur l'affichage des métriques, consultez la page Surveiller les connexions.

    Pour déterminer les étapes suivantes, procédez comme suit :

    • Si network/interconnect/link/macsec/received_errors_count est incrémenté, les paquets sont perdus au niveau de la connexion Cloud Interconnect d'entrée en raison d'erreurs. Cela indique qu'il existe une incohérence de protocole entre votre routeur sur site et les routeurs périphériques de Google. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

    • Si l'un des compteurs suivants est incrémenté, contactez l'assistance Google Cloud pour obtenir de l'aide :

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Si aucun des compteurs suivants n'est incrémenté, cela signifie que les paquets sont perdus au niveau de la sortie de votre routeur sur site. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

      • 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 est opérationnel et subit des pertes de paquets

MACsec a bien été activé pour Cloud Interconnect et MACsec est opérationnel, mais vous subissez des pertes de paquets.

Si votre connexion MACsec est opérationnelle, mais que l'état du protocole LACP (Link Aggregation Control Protocol) de Cloud Interconnect est Detached, vérifiez que l'identifiant de canal sécurisé (SCI) est activé sur votre routeur sur site. Pour en savoir plus, consultez la section Configurer un routeur sur site.

Affichez les métriques pour déterminer si les paquets sont supprimés au niveau de l'entrée ou de la sortie de la connexion Cloud Interconnect. Pour en savoir plus sur l'affichage des métriques, consultez la page Surveiller les connexions. Si la connexion Cloud Interconnect n'affiche aucune erreur ni perte de paquet, passez à la vérification des routeurs MACsec :

  • Si network/interconnect/link/macsec/received_errors_count est incrémenté, les paquets sont perdus au niveau de la connexion Cloud Interconnect d'entrée en raison d'erreurs. Cela indique qu'il existe une incohérence de protocole entre votre routeur sur site et les routeurs périphériques de Google. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

  • Si l'un des compteurs suivants est incrémenté, contactez l'assistance Google Cloud pour obtenir de l'aide :

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • Si aucun des compteurs suivants n'est incrémenté, cela signifie que les paquets sont perdus au niveau de la sortie de votre routeur sur site. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

    • 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

Résoudre les problèmes MACsec lorsque le comportement de configuration ouverte est activé

Si vous activez MACsec pour Cloud Interconnect avec le comportement de configuration ouverte activé, alors votre connexion Cloud Interconnect continue de transférer le trafic même si une session MACsec ne peut pas être établie. Nous vous recommandons vivement d'éviter d'utiliser le comportement de configuration ouverte sur les connexions Cloud Interconnect de production pour éviter de transmettre des paquets sous forme de texte clair.

Pour déterminer la configuration et indiquer votre connexion MACsec, procédez comme suit :

  1. Pour vérifier l'état de votre connexion Cloud Interconnect, sélectionnez l'une des options suivantes:

    Console

    1. Dans la console Google Cloud, accédez à l'onglet Connexions physiques de Cloud Interconnect.

      Accéder à l'onglet "Connexions physiques"

    2. Sélectionnez la connexion Cloud Interconnect à afficher.

    3. Dans l'onglet MACsec, vérifiez que la configuration MACsec affiche Activé, échec de l'ouverture.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Remplacez INTERCONNECT_CONNECTION_NAME par le nom de votre connexion Cloud Interconnect.

    Le résultat ressemble à ce qui suit : recherchez macsec failOpen défini sur true et macsecEnabled défini sur 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
    

    Dans cet exemple, macsec.failopen affiche true et macsecEnabled affiche true.

  2. Pour vérifier l'état du port de la connexion Cloud Interconnect, l'état opérationnel MACsec et le nom de la clé active, sélectionnez l'une des options suivantes:

    Console

    1. Dans la console Google Cloud, accédez à l'onglet Connexions physiques de Cloud Interconnect.

      Accéder à l'onglet "Connexions physiques"

    2. Sélectionnez la connexion Cloud Interconnect à afficher.

    3. Dans Informations sur les circuits de liaison, vérifiez que l'État de la liaison affiche Actif pour toutes les liaisons.

    4. Vérifiez que le nom de la clé MACsec affiche un nom de clé pour tous les liens et que chaque nom de clé affiche MACsec sur ce lien est activé ou MACsec sur ce lien est indisponible.

    gcloud

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

    Remplacez PROJECT_NAME par le nom de votre projet Google Cloud.

    Le résultat ressemble à ce qui suit : recherchez le paramètre bundleOperationalStatus défini sur BUNDLE_OPERATIONAL_STATUS_UP, le paramètre state défini sur ACTIVE et le paramètre macsec ckn operational défini sur 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
    

    Dans cet exemple :

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP indique que le groupe est opérationnel.
    • links.lacpStatus.state: ACTIVE indique que le lien de membre LACP est actif.
    • links.macsec.operational: false indique que MACsec est opérationnel.

    Dans ce cas, comme le comportement de configuration ouverte est activé, les paquets de contrôle LACP ne sont pas perdus.

    Si aucune valeur n'est affichée pour links.macsec.ckn, contactez l'assistance Google Cloud pour obtenir de l'aide.

    La commande gcloud compute interconnects get-diagnostics affiche la valeur CKN de la clé active. Si plusieurs clés sont configurées, la clé avec la dernière heure de début est sélectionnée comme clé active. Les routeurs périphériques de Google rejettent toutes les nouvelles sessions MACsec qui tentent d'utiliser les anciennes clés.

  3. Pour obtenir la configuration MACsec, puis noter la valeur CAK et l'heure de début de la clé correspondant à la valeur CKN précédemment affichée, sélectionnez l'une des options suivantes:

    Console

    1. Dans l'onglet MACsec, accédez à la section Pre-shared keys (Clés prépartagées), puis cliquez sur View (Afficher) à côté de la clé active. Si les valeurs CAK et CKN de la clé ne s'affichent pas, contactez l'assistance Google Cloud pour obtenir de l'aide.

    2. Dans la section Clés prépartagées, vérifiez que l'heure de début indiquée pour la clé active correspond à l'heure de début de votre routeur sur site.

    gcloud

    1. Exécutez la commande suivante :

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Le résultat ressemble à ce qui suit. Recherchez 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. Vérifiez que les heures CKN, CAK et de démarrage actives de votre routeur sur site correspondent aux valeurs MACsec pour Cloud Interconnect.

    3. Effectuez l'une des opérations suivantes :

      • Si les valeurs ne correspondent pas, consultez le manuel de votre routeur pour mettre à jour les valeurs de votre routeur, puis vérifiez si une session MACsec peut maintenant être établie.

      • Si les valeurs correspondent, mais que la session MACsec n'est toujours pas opérationnelle sur le lien, passez à l'étape suivante.

  4. Affichez les métriques pour observer les compteurs de paquets pour votre connexion Cloud Interconnect. Pour en savoir plus sur l'affichage des métriques, consultez la page Surveiller les connexions.

    Lorsque le comportement de configuration ouverte MACsec est activé, les compteurs suivants sont incrémentés :

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

    Lorsque le comportement de configuration ouverte MACsec est activé, les compteurs suivants ne sont pas incrémentés :

    • 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

    Pour déterminer les étapes suivantes, procédez comme suit :

    • Si network/interconnect/link/macsec/received_errors_count est incrémenté, les paquets sont perdus au niveau de la connexion Cloud Interconnect d'entrée en raison d'erreurs. Cela indique qu'il existe une incohérence de protocole entre votre routeur sur site et les routeurs périphériques de Google. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

    • Si l'un des compteurs suivants est incrémenté, contactez l'assistance Google Cloud pour obtenir de l'aide :

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Si aucun des compteurs suivants n'est incrémenté, cela peut signifier que les paquets sont perdus au niveau de la sortie de votre routeur sur site. Consultez les journaux de votre routeur sur site pour résoudre les problèmes.

      • 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

Étape suivante