Resolver problemas do MACsec

Nesta página, descrevemos como resolver problemas do MACsec para o Cloud Interconnect.

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

Se você tiver uma chave MACsec sem um horário de início e tentar criar uma nova, o Cloud Interconnect exibirá um erro. Para resolver o erro, atualize o horário de início da chave atual.

O MACsec está operacional na minha conexão do Cloud Interconnect

Você ativou o MACsec na sua conexão do Cloud Interconnect e no seu roteador local, mas a sessão MACsec exibe que está operacionalmente abaixo nos links de conexão do Cloud Interconnect. O problema pode ser causado por um dos motivos a seguir:

  • As chaves ativas no seu roteador local e nos roteadores de borda do Google não são correspondentes.
  • Há uma incompatibilidade de protocolo MACsec entre seu roteador local e o roteador de borda do Google.

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

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

    Console

    1. No console do Google Cloud, acesse a guia Conexões físicas do Cloud Interconnect.

      Acessar Conexões físicas

    2. Selecione a conexão do Cloud Interconnect que você quer visualizar.

    3. Na guia MACsec, verifique se a configuração do MACsec exibe uma das seguintes opções:

      • Ativado, falha ao abrir: a criptografia MACsec está ativada no link. Se a criptografia MACsec não for estabelecida entre as duas extremidades, o link funcionará sem criptografia.

      • Ativado, falha fechado: a criptografia MACsec está ativada no link. Se a criptografia MACsec não for estabelecida entre as duas extremidades, o link falhará.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

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

    A resposta será semelhante a esta: Verifique se macsecEnabled: true é exibido:

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

    Console

    1. No console do Google Cloud, acesse a guia Conexões físicas do Cloud Interconnect.

      Acessar Conexões físicas

    2. Selecione a conexão do Cloud Interconnect que você quer visualizar.

    3. Em Informações do circuito do link, verifique se o Estado do link mostra Ativo para todos os links.

    4. Verifique se o nome da chave MACsec exibe um nome de chave para todos os links e se cada nome de chave exibe 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 projeto do Google Cloud.

    A resposta será semelhante a esta: Verifique se links.lacpStatus.state exibe ACTIVE, se links.macsec.ckn exibe um valor e se links.operationalStatus exibe 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 houver um valor exibido para links.macsec.ckn, entre em contato com o suporte do Google Cloud para receber ajuda.

  3. Para verificar os valores de CAK e CKN da chave ativa e o horário de início da chave, selecione uma das seguintes opções:

    Console

    1. Na guia MACsec, acesse a seção Chaves pré-compartilhadas e clique em Visualizar ao lado da chave ativa no momento. Se um valor de CKN não for exibido, entre em contato com o suporte do Google Cloud para receber ajuda.

    2. Na seção Chaves pré-compartilhadas, verifique se o horário de início listado para a chave ativa no momento corresponde ao horário de início no roteador local. Siga uma das seguintes ações:

      • Se os valores não corresponderem, consulte o manual do roteador para atualizar os valores e verifique se uma sessão MACsec pode ser estabelecida agora.

      • Se os valores corresponderem, mas a sessão MACsec ainda estiver operacional no link, prossiga para a próxima etapa.

    gcloud

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

      Se você tiver mais de uma chave configurada, a chave com o horário de início mais recente que não está no futuro será selecionada como ativa. Os roteadores de borda do Google rejeitam todas as novas sessões MACsec que tentam usar chaves antigas.

    2. Consiga a configuração MACsec e observe o valor CAK e o horário de início da chave que correspondem ao valor da CKN exibido anteriormente:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

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

      O resultado será assim:

      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 os horários ativos de CKN, CAK e de início no roteador local correspondem aos valores que o MACsec para o Cloud Interconnect exibe. Siga uma das seguintes ações:

      • Se os valores não corresponderem, consulte o manual do roteador para atualizar os valores e verifique se uma sessão MACsec pode ser estabelecida agora.

      • Se os valores corresponderem, mas a sessão MACsec ainda estiver operacional no link, prossiga para a próxima etapa.

  4. Visualize métricas para determinar se os pacotes estão caindo na entrada ou na saída da conexão do Cloud Interconnect. Para mais informações sobre como visualizar métricas, consulte Monitorar conexões.

    Para determinar as próximas etapas, faça o seguinte:

    • Se network/interconnect/link/macsec/received_errors_count estiver sendo incrementado, os pacotes serão descartados na conexão de entrada do Cloud Interconnect devido a erros. Isso indica que há uma incompatibilidade de protocolo entre seu roteador local e os roteadores de borda do Google. Verifique os registros do roteador local para resolver o problema.

    • Se algum dos seguintes contadores estiver sendo incrementado, entre em contato com o suporte do Google Cloud para mais assistência:

      • 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 sendo incrementado, isso indicará que os pacotes estão caindo na saída do seu roteador local. Verifique os registros do roteador local para resolver o 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á operacional e está enfrentando perda de pacotes

Você ativou o MACsec para o Cloud Interconnect, e ele está operacional, mas há perda de pacotes.

Se a conexão MACsec estiver funcionando, mas o status do protocolo de controle de agregação de links (LACP, na sigla em inglês) do Cloud Interconnect for Detached, verifique se o identificador de canal seguro (SCI, na sigla em inglês) está ativado no roteador local. Para mais informações, consulte Configurar seu roteador local.

Visualize métricas para determinar se os pacotes estão caindo na entrada ou na saída da conexão do Cloud Interconnect. Para mais informações sobre como visualizar métricas, consulte Monitorar conexões. Se a conexão do Cloud Interconnect não mostrar erros de pacote ou perda, prossiga para a verificação dos roteadores MACsec:

  • Se network/interconnect/link/macsec/received_errors_count estiver sendo incrementado, os pacotes serão descartados na conexão de entrada do Cloud Interconnect devido a erros. Isso indica que há uma incompatibilidade de protocolo entre seu roteador local e os roteadores de borda do Google. Verifique os registros do roteador local para resolver o problema.

  • Se algum dos seguintes contadores estiver sendo incrementado, entre em contato com o suporte do Google Cloud para mais assistência:

    • 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 sendo incrementado, isso indicará que os pacotes estão caindo na saída do seu roteador local. Verifique os registros do roteador local para resolver o 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

Resolver problemas de MACsec enquanto o comportamento de fail open estiver ativado

Se você ativar o MACsec para o Cloud Interconnect com comportamento de falha, a conexão do Cloud Interconnect continuará encaminhando tráfego, mesmo que não seja possível estabelecer uma sessão MAC. É altamente recomendável que você evite usar o comportamento de falha de abertura em conexões de produção do Cloud Interconnect para evitar a transmissão de pacotes como texto não criptografado.

Para determinar a configuração e declarar sua conexão MACsec, faça o seguinte:

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

    Console

    1. No console do Google Cloud, acesse a guia Conexões físicas do Cloud Interconnect.

      Acessar Conexões físicas

    2. Selecione a conexão do Cloud Interconnect que você quer visualizar.

    3. Na guia MACsec, verifique se a Configuração do MACsec exibe Ativado, falha ao abrir.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

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

    O resultado será assim:

    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 exibe true e macsecEnabled exibe true.

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

    Console

    1. No console do Google Cloud, acesse a guia Conexões físicas do Cloud Interconnect.

      Acessar Conexões físicas

    2. Selecione a conexão do Cloud Interconnect que você quer visualizar.

    3. Em Informações do circuito do link, verifique se o Estado do link mostra Ativo para todos os links.

    4. Verifique se o nome da chave MACsec exibe um nome de chave para todos os links e se cada nome de chave exibe 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 projeto do Google Cloud.

    O resultado será assim:

      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á operacional.
    • links.lacpStatus.state: ACTIVE indica que o link de membro do LACP está ativo.
    • links.macsec.operational: false indica que o MACsec está operacionalmente inativo.

    Nesse caso, como o comportamento de falha de abertura está ativado, os pacotes de controle do LACP não são descartados.

    Se não houver um valor exibido para links.macsec.ckn, entre em contato com o suporte do Google Cloud para receber ajuda.

    O comando gcloud compute interconnects get-diagnostics exibe o valor de CKN da chave ativa. Se você tiver mais de uma chave configurada, a chave com o horário de início mais recente será selecionada como a chave ativa. Os roteadores de borda do Google rejeitam todas as novas sessões MACsec que tentam usar as chaves mais antigas.

  3. Para conferir a configuração do MACsec e anotar o valor do CAK e o horário de início da chave que correspondem ao valor do CKN exibido anteriormente, selecione uma das seguintes opções:

    Console

    1. Na guia MACsec, acesse a seção Chaves pré-compartilhadas e clique em Visualizar ao lado da chave ativa no momento. Se os valores de CAK e CKN da chave não forem exibidos, entre em contato com o suporte do Google Cloud para receber ajuda.

    2. Na seção Chaves pré-compartilhadas, verifique se o horário de início listado para a chave ativa no momento corresponde aos horários de início no roteador local.

    gcloud

    1. Execute este comando:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      O resultado será assim:

      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 os horários ativos de CKN, CAK e de início no roteador local correspondem aos valores que o MACsec para o Cloud Interconnect exibe.

    3. Siga uma das seguintes ações:

      • Se os valores não corresponderem, consulte o manual do roteador para atualizar os valores e verifique se uma MACsec pode ser estabelecida agora.

      • Se os valores corresponderem, mas a sessão MACsec ainda estiver operacional no link, prossiga para a próxima etapa.

  4. Veja as métricas para observar os contadores de pacote da sua conexão do Cloud Interconnect. Para mais informações sobre como visualizar métricas, consulte Monitorar conexões.

    Quando o comportamento fail open de MACsec está ativado, os contadores a seguir incrementam:

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

    Quando o comportamento fail open de MACsec está ativado, os contadores a seguir não incrementam:

    • 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 as próximas etapas, faça o seguinte:

    • Se network/interconnect/link/macsec/received_errors_count estiver sendo incrementado, os pacotes serão descartados na conexão de entrada do Cloud Interconnect devido a erros. Isso indica que há uma incompatibilidade de protocolo entre seu roteador local e os roteadores de borda do Google. Verifique os registros do roteador local para resolver o problema.

    • Se algum dos seguintes contadores estiver sendo incrementado, entre em contato com o suporte do Google Cloud para mais assistência:

      • 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 sendo incrementado, isso poderá indicar que os pacotes estão caindo na saída do seu roteador local. Verifique os registros do roteador local para resolver o 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

A seguir