Resolva problemas de MACsec

Esta página descreve como resolver problemas do MACsec para o Cloud Interconnect.

O Cloud Interconnect apresenta um erro quando tento criar uma nova chave

Se tiver uma chave MACsec existente sem uma hora de início e tentar criar uma nova chave, o Cloud Interconnect apresenta um erro. Para resolver o erro, atualize a hora de início da chave existente.

O MACsec está operacionalmente inativo na minha ligação do Cloud Interconnect

Ativou com êxito o MACsec na ligação do Cloud Interconnect e no router no local, mas a sessão MACsec apresenta-se operacionalmente inativa nos links da ligação do Cloud Interconnect. O problema pode dever-se a um dos seguintes motivos:

  • As chaves ativas no seu router no local e nos routers de limite da Google não correspondem.
  • Existe uma incompatibilidade do protocolo MACsec entre o seu router no local e o router de limite da Google.

Para resolver o estado do MACsec, faça o seguinte:

  1. Para verificar se o MACsec está ativado na ligação do Cloud Interconnect, selecione uma das seguintes opções:

    Consola

    1. Na Google Cloud consola, aceda ao separador Cloud Interconnect Ligações físicas.

      Aceda a Ligações físicas

    2. Selecione a ligação do Cloud Interconnect que quer ver.

    3. No separador MACsec, verifique se a configuração do MACsec apresenta uma das seguintes opções:

      • Ativada, falha aberta: a encriptação MACsec está ativada no link. Se a encriptação MACsec não for estabelecida entre ambas as extremidades, o link funciona sem encriptação.

      • Ativada, falha fechada: a encriptação MACsec está ativada na ligação. Se a encriptação MACsec não for estabelecida entre ambas as extremidades, a associação falha.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Substitua INTERCONNECT_CONNECTION_NAME pelo nome da sua ligação do Cloud Interconnect.

    O resultado é semelhante ao seguinte. Verifique se macsecEnabled: true é apresentado:

    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 o estado da porta do Cloud Interconnect, o estado operacional do MACsec e o nome da chave ativa, use uma das seguintes opções:

    Consola

    1. Na Google Cloud consola, aceda ao separador Cloud Interconnect Ligações físicas.

      Aceda a Ligações físicas

    2. Selecione a ligação do Cloud Interconnect que quer ver.

    3. Em Informações do circuito de associação, verifique se o Estado da associação apresenta Ativo para todas as associações.

    4. Verifique se o nome da chave MACsec apresenta um nome de chave para todos os links e se cada nome de chave apresenta O MACsec neste link está ativo ou O MACsec neste link está inativo.

    gcloud

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

    Substitua PROJECT_NAME pelo nome do seu projeto doGoogle Cloud .

    O resultado é semelhante ao seguinte. Verifique se links.lacpStatus.state apresenta ACTIVE, se links.macsec.ckn apresenta um valor e se links.operationalStatus apresenta 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 não for apresentado um valor para links.macsec.ckn, contacte o Google Cloud apoio técnico para obter ajuda.

  3. Para validar os valores CAK e CKN da chave ativa e a hora de início da chave, selecione uma das seguintes opções:

    Consola

    1. No separador MACsec, aceda à secção Chaves partilhadas previamente e, de seguida, clique em Ver junto à chave ativa. Se não for apresentado um valor CKN, contacte o Google Cloud apoio técnico para receber ajuda.

    2. Na secção Chaves pré-partilhadas, verifique se a hora de início apresentada para a chave ativa corresponde à hora de início no seu router no local. Efetue um dos seguintes passos:

      • Se os valores não corresponderem, consulte o manual do router para atualizar os valores no router e, em seguida, verifique se é possível estabelecer uma sessão MACsec.

      • Se os valores corresponderem, mas a sessão MACsec continuar operacionalmente inativa na ligação, avance para o passo seguinte.

    gcloud

    1. Execute o comando gcloud compute interconnects get-diagnostics para apresentar o valor CKN da chave ativa.

      Se tiver mais do que uma chave configurada, a chave com a hora de início mais recente que não seja no futuro é selecionada como a chave ativa. Os routers de limite da Google rejeitam quaisquer novas sessões MACsec que tentem usar chaves antigas.

    2. Obtenha a configuração do MACsec e, em seguida, tome nota do valor CAK e da hora de início da chave que correspondem ao valor CKN apresentado anteriormente:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Substitua INTERCONNECT_CONNECTION_NAME pelo nome da sua ligação do Cloud Interconnect.

      O resultado é semelhante ao seguinte. Procure o ícone 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. Verifique se o CKN, o CAK e as horas de início ativos no router no local correspondem aos valores apresentados pelo MACsec para o Cloud Interconnect. Efetue um dos seguintes passos:

      • Se os valores não corresponderem, consulte o manual do router para atualizar os valores no router e, em seguida, verifique se é possível estabelecer uma sessão MACsec.

      • Se os valores corresponderem, mas a sessão MACsec continuar operacionalmente inativa na ligação, avance para o passo seguinte.

  4. Veja as métricas para determinar se os pacotes estão a ser ignorados na entrada ou na saída da ligação do Cloud Interconnect. Para ver informações sobre como ver métricas, consulte o artigo Monitorize associações.

    Para determinar os passos seguintes, faça o seguinte:

    • Se network/interconnect/link/macsec/received_errors_count estiver a aumentar, significa que os pacotes estão a ser ignorados na ligação de entrada do Cloud Interconnect devido a erros. Isto indica que existe uma incompatibilidade de protocolo entre o seu router no local e os routers de limite da Google. Verifique os registos do router no local para resolver problemas.

    • Se algum dos seguintes contadores estiver a aumentar, contacte o Google Cloud apoio técnico para receber assistência adicional:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Se nenhum dos seguintes contadores estiver a aumentar, significa que os pacotes estão a ser rejeitados na saída do router no local. Verifique os registos do router no local para resolver 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

O MACsec está operacional e a sofrer perda de pacotes

Ativou com êxito o MACsec para o Cloud Interconnect e o MACsec está operacional, mas está a ter perda de pacotes.

Se a sua ligação MACsec estiver operacional, mas o estado do Link Aggregation Control Protocol (LACP) do Cloud Interconnect for Detached, verifique se o Secure Channel Identifier (SCI) está ativado no seu router no local. Para mais informações, consulte o artigo Configure o seu router no local.

Veja as métricas para determinar se os pacotes estão a ser ignorados na entrada ou na saída da ligação do Cloud Interconnect. Para ver informações sobre a visualização de métricas, consulte o artigo Monitorize associações. Se a ligação do Cloud Interconnect não apresentar erros ou perdas de pacotes, avance para a verificação dos routers MACsec:

  • Se network/interconnect/link/macsec/received_errors_count estiver a aumentar, significa que os pacotes estão a ser ignorados na ligação do Cloud Interconnect de entrada devido a erros. Isto indica que existe uma incompatibilidade de protocolos entre o seu router no local e os routers de limite da Google. Verifique os registos do router no local para resolver problemas.

  • Se algum dos seguintes contadores estiver a aumentar, contacte o Google Cloud apoio técnico para receber assistência adicional:

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • Se nenhum dos seguintes contadores estiver a aumentar, significa que os pacotes estão a ser rejeitados na saída do seu router no local. Verifique os registos do router no local para resolver 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

Resolva problemas de MACsec enquanto o comportamento de falha aberta está ativado

Se ativar o MACsec para o Cloud Interconnect com um comportamento de falha aberta, a ligação do Cloud Interconnect continua a encaminhar tráfego, mesmo que não seja possível estabelecer uma sessão MACsec com êxito. Recomendamos vivamente que evite usar o comportamento de falha aberta em ligações de produção do Cloud Interconnect para evitar a transmissão de pacotes como texto simples.

Para determinar a configuração e o estado da ligação MACsec, faça o seguinte:

  1. Para verificar o estado da sua ligação do Cloud Interconnect, selecione uma das seguintes opções:

    Consola

    1. Na Google Cloud consola, aceda ao separador Cloud Interconnect Ligações físicas.

      Aceda a Ligações físicas

    2. Selecione a ligação do Cloud Interconnect que quer ver.

    3. No separador MACsec, verifique se a configuração do MACsec apresenta Ativado, falha aberta.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Substitua INTERCONNECT_CONNECTION_NAME pelo nome da sua ligação do Cloud Interconnect.

    O resultado é semelhante ao seguinte. Procure macsec failOpen definido como true e macsecEnabled definido 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
    

    Neste exemplo, macsec.failopen apresenta true e macsecEnabled apresenta true.

  2. Para verificar o estado da porta, o estado operacional do MACsec e o nome da chave ativa da ligação do Cloud Interconnect, selecione uma das seguintes opções:

    Consola

    1. Na Google Cloud consola, aceda ao separador Cloud Interconnect Ligações físicas.

      Aceda a Ligações físicas

    2. Selecione a ligação do Cloud Interconnect que quer ver.

    3. Em Informações do circuito de associação, verifique se o Estado da associação apresenta Ativo para todas as associações.

    4. Verifique se o nome da chave MACsec apresenta um nome de chave para todos os links e se cada nome de chave apresenta O MACsec neste link está ativo ou O MACsec neste link está inativo.

    gcloud

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

    Substitua PROJECT_NAME pelo nome do seu projeto doGoogle Cloud .

    O resultado é semelhante ao seguinte; procure o elemento bundleOperationalStatus definido como BUNDLE_OPERATIONAL_STATUS_UP, o elemento state definido como ACTIVE e o elemento macsec ckn operational definido como 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
    

    Neste exemplo:

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP indica que o pacote está operacionalmente ativo.
    • links.lacpStatus.state: ACTIVE indica que a ligação do membro LACP está ativa.
    • links.macsec.operational: false indica que o MACsec está operacionalmente inativo.

    Neste caso, uma vez que o comportamento de falha aberta está ativado, os pacotes de controlo LACP não são ignorados.

    Se não for apresentado um valor para links.macsec.ckn, contacte o Google Cloud apoio técnico para obter ajuda.

    O comando gcloud compute interconnects get-diagnostics apresenta o valor CKN da chave ativa. Se tiver mais do que uma chave configurada, a chave com a hora de início mais recente é selecionada como a chave ativa. Os routers de borda da Google rejeitam quaisquer novas sessões MACsec que tentem usar as chaves mais antigas.

  3. Para obter a configuração do MACsec e, em seguida, anotar o valor CAK e a hora de início da chave que correspondem ao valor CKN apresentado anteriormente, selecione uma das seguintes opções:

    Consola

    1. No separador MACsec, aceda à secção Chaves partilhadas previamente e, de seguida, clique em Ver junto à chave ativa. Se os valores CAK e CKN da chave não forem apresentados, contacte o Google Cloud apoio técnico para receber ajuda.

    2. Na secção Chaves pré-partilhadas, verifique se a hora de início apresentada para a chave ativa corresponde às horas de início no seu router no local.

    gcloud

    1. Execute o seguinte comando:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      O resultado é semelhante ao seguinte. Procure 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. Verifique se o CKN, o CAK e as horas de início ativos no router no local correspondem aos valores apresentados pelo MACsec para o Cloud Interconnect.

    3. Efetue um dos seguintes passos:

      • Se os valores não corresponderem, consulte o manual do router para atualizar os valores no router e, em seguida, verifique se é possível estabelecer um MACsec.

      • Se os valores corresponderem, mas a sessão MACsec continuar operacionalmente inativa na ligação, avance para o passo seguinte.

  4. Veja as métricas para observar os contadores de pacotes da sua ligação do Cloud Interconnect. Para mais informações sobre a visualização de métricas, consulte o artigo Monitorizar associações.

    Quando o comportamento de abertura em caso de falha do MACsec está ativado, os seguintes contadores são incrementados:

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

    Quando o comportamento de abertura em caso de falha do MACsec está ativado, os seguintes contadores não são incrementados:

    • 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 os passos seguintes, faça o seguinte:

    • Se network/interconnect/link/macsec/received_errors_count estiver a aumentar, significa que os pacotes estão a ser ignorados na ligação de entrada do Cloud Interconnect devido a erros. Isto indica que existe uma incompatibilidade de protocolo entre o seu router no local e os routers de limite da Google. Verifique os registos do router no local para resolver problemas.

    • Se algum dos seguintes contadores estiver a aumentar, contacte o Google Cloud apoio técnico para receber assistência adicional:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Se nenhum dos seguintes contadores estiver a aumentar, pode indicar que os pacotes estão a ser ignorados na saída do router no local. Verifique os registos do router no local para resolver problemas.

      • 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

O que se segue?