Soluciona problemas de MACsec

En esta página, se describe cómo solucionar problemas de MACsec para Cloud Interconnect.

Cloud Interconnect muestra un error cuando intento crear una clave nueva

Si tienes una clave MACsec existente sin una hora de inicio y tratas de crear una clave nueva, Cloud Interconnect mostrará un error. Para resolver el error, actualiza la hora de inicio de la clave existente.

MACsec está inactivo en mi conexión de Cloud Interconnect

Habilitaste correctamente MACsec en tu conexión de Cloud Interconnect y en tu router local, pero la sesión MACsec muestra que está inactiva en tus vínculos de conexión de Cloud Interconnect. A continuación, se indican las posibles causas:

  • Las claves activas en tu router local y los routers perimetrales de Google no coinciden.
  • Existe una discrepancia del protocolo MACsec entre tu router local y el router perimetral de Google.

Para resolver el estado MACsec, haz lo siguiente:

  1. Para verificar que MACsec esté habilitado en tu conexión de Cloud Interconnect, selecciona una de las siguientes opciones:

    Console

    1. En la consola de Google Cloud, ve a la pestaña Conexiones físicas de Cloud Interconnect.

      Ir a Conexiones físicas

    2. Selecciona la conexión de Cloud Interconnect que deseas ver.

    3. En la pestaña MACsec, verifica que la MACsec de MACsec muestre uno de los siguientes elementos:

      • Habilitada, apertura ante fallas: La encriptación de MACsec está habilitada en el vínculo. Si la encriptación MACsec no se establece entre ambos extremos, el vínculo funciona sin encriptación.

      • Habilitada, cierre ante fallas: La encriptación MACsec está habilitada en el vínculo. Si la encriptación MACsec no se establece entre ambos extremos, el vínculo falla.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Reemplaza INTERCONNECT_CONNECTION_NAME por el nombre de tu conexión de Cloud Interconnect.

    El resultado es similar al siguiente. Verifica que se muestre 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. Para verificar el estado del puerto de Cloud Interconnect, el estado operativo MACsec y el nombre de la clave activa, usa una de las siguientes opciones:

    Console

    1. En la consola de Google Cloud, ve a la pestaña Conexiones físicas de Cloud Interconnect.

      Ir a Conexiones físicas

    2. Selecciona la conexión de Cloud Interconnect que deseas ver.

    3. En Información del circuito de los vínculos, verifica que el Estado del vínculo muestre Activo para todos los vínculos.

    4. Verifica que el nombre de la clave MACsec muestre un nombre de clave para todos los vínculos y que cada nombre de clave muestre MACsec en este vínculo está activo o MACsec en este vínculo está inactivo.

    gcloud

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

    Reemplaza PROJECT_NAME por el nombre del proyecto de Google Cloud.

    El resultado es similar al siguiente. Verifica que links.lacpStatus.state muestre ACTIVE, que links.macsec.ckn muestre un valor y que links.operationalStatus muestre 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 no se muestra un valor para links.macsec.ckn, comunícate con el equipo de asistencia de Google Cloud para obtener ayuda.

  3. Para verificar los valores de CAK y CKN de la clave activa y la hora de inicio de la clave, selecciona una de las siguientes opciones:

    Console

    1. En la pestaña MACsec, ve a la sección Claves precompartidas y, luego, haz clic en Ver junto a la clave activa. Si no se muestra un valor de CKN, comunícate con el equipo de asistencia de Google Cloud para obtener ayuda.

    2. En la sección Claves precompartidas, verifica que la hora de inicio de la clave activa coincida con la hora de inicio en tu router local. Realiza una de las siguientes acciones:

      • Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en tu router y, luego, verifica si se puede establecer una sesión de MACsec.

      • Si los valores coinciden, pero la sesión de MACsec aún está inactiva en el vínculo, continúa con el paso siguiente.

    gcloud

    1. Ejecuta el comando gcloud compute interconnects get-diagnostics para mostrar el valor de CKN de la clave activa.

      Si tienes más de una clave configurada, se selecciona la clave con la hora de inicio más reciente que no sea en el futuro como la clave activa. Los routers de conexión de integración de Google rechazan cualquier sesión MACsec nueva que intente usar claves antiguas.

    2. Obtén la configuración de MACsec y, luego, toma nota del valor de CAK y la hora de inicio de la clave que corresponden al valor de CKN que se mostró antes:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Reemplaza INTERCONNECT_CONNECTION_NAME por el nombre de tu conexión de Cloud Interconnect.

      El resultado es similar al siguiente; busca 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 que las horas de inicio, CAK y CKN activas en tu router local coincidan con los valores que muestra MACsec para Cloud Interconnect. Realice una de las siguientes acciones:

      • Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en tu router y, luego, verifica si se puede establecer una sesión de MACsec.

      • Si los valores coinciden, pero la sesión de MACsec aún está inactiva en el vínculo, continúa con el paso siguiente.

  4. Visualiza las métricas para determinar si los paquetes se descartan en la entrada o la salida de la conexión de Cloud Interconnect. Para obtener información sobre cómo ver las métricas, consulta Supervisa conexiones.

    Para determinar los próximos pasos, haz lo siguiente:

    • Si network/interconnect/link/macsec/received_errors_count aumenta, significa que los paquetes se descartan en la conexión de entrada de Cloud Interconnect debido a errores. Esto indica que existe una discrepancia de protocolo entre tu router local y los routers perimetrales de Google. Verifica los registros de tu router local para solucionar el problema.

    • Si alguno de los siguientes contadores aumenta, comunícate con el equipo de asistencia de Google Cloud para obtener más asistencia:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Si ninguno de los siguientes contadores aumenta, significa que los paquetes se descartan en la salida de tu router local. Verifica los registros de tu router local para solucionar el 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 está en funcionamiento y está experimentando la pérdida de paquetes

Habilitaste correctamente MACsec para Cloud Interconnect y MACsec está funcionando, pero experimentas una pérdida de paquetes.

Si tu conexión MACsec está operativa, pero el estado del Protocolo de control de agregación de vínculos (LACP) de Cloud Interconnect es Detached, verifica que el identificador de canal seguro (SCI) esté habilitado en tu router local. Para obtener más información, consulta Configura tu router local.

Visualiza las métricas para determinar si los paquetes se descartan en la entrada o la salida de la conexión de Cloud Interconnect. Para obtener información sobre cómo ver las métricas, consulta Supervisa conexiones. Si la conexión de Cloud Interconnect no muestra ningún error o pérdida de paquetes, continúa con la verificación de los routers de MACsec:

  • Si network/interconnect/link/macsec/received_errors_count aumenta, los paquetes se descartan en la conexión de entrada de Cloud Interconnect debido a errores. Esto indica que existe una discrepancia de protocolo entre tu router local y los routers perimetrales de Google. Verifica los registros de tu router local para solucionar el problema.

  • Si alguno de los siguientes contadores aumenta, comunícate con el equipo de asistencia de Google Cloud para obtener más ayuda:

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • Si ninguno de los siguientes contadores aumenta, significa que los paquetes se descartan en la salida de tu router local. Verifica los registros de tu router local para solucionar problemas.

    • 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

Soluciona problemas de MACsec mientras el comportamiento de falla abierta está habilitado

Si habilitas MACsec para Cloud Interconnect con comportamiento de apertura de errores, tu conexión de Cloud Interconnect continúa reenviando el tráfico incluso si una sesión de MACsec no se puede establecer de forma correcta. Recomendamos que evites usar un comportamiento de falla abierta en las conexiones de producción de Cloud Interconnect para evitar transmitir paquetes como texto no encriptado.

Para determinar la configuración y establecer el estado de tu conexión MACsec, haz lo siguiente:

  1. Para verificar el estado de tu conexión de Cloud Interconnect, selecciona una de las siguientes opciones:

    Console

    1. En la consola de Google Cloud, ve a la pestaña Conexiones físicas de Cloud Interconnect.

      Ir a Conexiones físicas

    2. Selecciona la conexión de Cloud Interconnect que deseas ver.

    3. En la pestaña MACsec, verifica que la configuración de MACsec muestre Habilitada, apertura ante fallas.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Reemplaza INTERCONNECT_CONNECTION_NAME por el nombre de tu conexión de Cloud Interconnect.

    El resultado es similar al siguiente: Busca macsec failOpen configurado como true y macsecEnabled configurado como 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
    

    En este ejemplo, macsec.failopen muestra true y macsecEnabled muestra true.

  2. Para verificar el estado del puerto de la conexión de Cloud Interconnect, el estado operativo MACsec y el nombre de la clave activa, selecciona una de las siguientes opciones:

    Console

    1. En la consola de Google Cloud, ve a la pestaña Conexiones físicas de Cloud Interconnect.

      Ir a Conexiones físicas

    2. Selecciona la conexión de Cloud Interconnect que deseas ver.

    3. En Información del circuito de los vínculos, verifica que el Estado del vínculo muestre Activo para todos los vínculos.

    4. Verifica que el nombre de la clave MACsec muestre un nombre de clave para todos los vínculos y que cada nombre de clave muestre MACsec en este vínculo está activo o MACsec en este vínculo está inactivo.

    gcloud

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

    Reemplaza PROJECT_NAME por el nombre del proyecto de Google Cloud.

    El resultado es similar al siguiente: busca el bundleOperationalStatus establecido en BUNDLE_OPERATIONAL_STATUS_UP, el state establecido en ACTIVE y el macsec ckn operational establecido en 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
    

    En este ejemplo:

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP indica que el paquete está activo.
    • links.lacpStatus.state: ACTIVE indica que el vínculo de miembro de LACP está activo.
    • links.macsec.operational: false indica que MACsec está inactivo en su funcionamiento.

    En este caso, debido a que el comportamiento de apertura de errores está habilitado, los paquetes de control de LACP no se descartan.

    Si no se muestra un valor para links.macsec.ckn, comunícate con el equipo de asistencia de Google Cloud para obtener ayuda.

    El comando gcloud compute interconnects get-diagnostics muestra el valor de CKN de la clave activa. Si tienes más de una clave configurada, se selecciona la clave con la hora de inicio más reciente como clave activa. Los routers perimetrales de Google rechazan todas las sesiones de MACsec nuevas que intenten usar las claves anteriores.

  3. Para obtener la configuración de MACsec, y, luego, tomar nota del valor de CAK y la hora de inicio de la clave que corresponden al valor de CKN que se mostró antes, selecciona una de las siguientes opciones:

    Console

    1. En la pestaña MACsec, ve a la sección Claves precompartidas y, luego, haz clic en Ver junto a la clave activa. Si no se muestran los valores de CAK y CKN de la clave, comunícate con el equipo de asistencia de Google Cloud para obtener ayuda.

    2. En la sección Claves precompartidas, verifica que la hora de inicio de la clave activa coincida con las horas de inicio en tu router local.

    gcloud

    1. Ejecuta el siguiente comando:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      El resultado es similar al siguiente; busca 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 que las horas de inicio, CAK y CKN activas en tu router local coincidan con los valores que muestra MACsec para Cloud Interconnect.

    3. Realice una de las siguientes acciones:

      • Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en tu router y, luego, verifica si se puede establecer una MACsec ahora.

      • Si los valores coinciden, pero la sesión de MACsec aún está inactiva en el vínculo, continúa con el paso siguiente.

  4. Visualiza las métricas a fin de observar los contadores de paquetes para tu conexión de Cloud Interconnect. Para obtener más información sobre cómo ver las métricas, consulta Supervisa conexiones.

    Cuando el comportamiento de falla abierta se abre MACsec, los siguientes contadores aumentan:

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

    Cuando el comportamiento de apertura y falla de MACsec está habilitado, los siguientes contadores no aumentan:

    • 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

    Para determinar los próximos pasos, haz lo siguiente:

    • Si network/interconnect/link/macsec/received_errors_count aumenta, significa que los paquetes se descartan en la conexión de entrada de Cloud Interconnect debido a errores. Esto indica que existe una discrepancia de protocolo entre tu router local y los routers perimetrales de Google. Verifica los registros de tu router local para solucionar el problema.

    • Si alguno de los siguientes contadores aumenta, comunícate con el equipo de asistencia de Google Cloud para obtener más asistencia:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Si ninguno de los siguientes contadores aumenta, puede indicar que los paquetes se descartan en la salida de tu router local. Verifica los registros de tu router local para solucionar el 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

Próximos pasos