MACsec 문제 해결

이 페이지에서는 Cloud Interconnect의 MACsec 문제를 해결하는 방법을 설명합니다.

새 키를 만들려고 하면 Cloud Interconnect에 오류가 표시됨

시작 시간이 없는 기존 MACsec 키가 있는데 새 키를 만들려고 하면 Cloud Interconnect에 오류가 표시됩니다. 이 오류를 해결하려면 기존 키의 시작 시간을 업데이트합니다.

Cloud Interconnect 연결에서 MACsec가 작동하지 않음

Cloud Interconnect 연결과 온프레미스 라우터에 MACsec가 성공적으로 사용 설정되었지만 MACsec 세션에는 Cloud Interconnect 연결 링크에서 운영 중단된 것으로 표시됩니다. 이 문제는 다음 중 하나의 원인으로 인해 발생할 수 있습니다.

  • 온프레미스 라우터와 Google 에지 라우터의 활성 키가 일치하지 않습니다.
  • 온프레미스 라우터와 Google 에지 라우터 사이에 MACsec 프로토콜 불일치가 존재합니다.

MACsec 상태를 해결하려면 다음을 수행합니다.

  1. Cloud Interconnect 연결에서 MACsec가 사용 설정되었는지 확인하려면 다음 옵션 중 하나를 선택합니다.

    콘솔

    1. Google Cloud 콘솔에서 Cloud Interconnect 실제 연결 탭으로 이동합니다.

      실제 연결로 이동

    2. 보려는 Cloud Interconnect 연결을 선택합니다.

    3. MACsec 탭에서 MACsec 구성에 다음 중 하나가 표시되는지 확인합니다.

      • 사용 설정됨, 장애 허용: 링크에 MACsec 암호화가 사용 설정되어 있습니다. 양단 간에 MACsec 암호화가 설정되지 않으면 링크가 암호화 없이 작동합니다.

      • 사용 설정됨, 장애 차단: MACsec 암호화가 링크에 사용 설정되었습니다. 양단 간에 MACsec 암호화가 설정되지 않으면 링크가 실패합니다.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    INTERCONNECT_CONNECTION_NAME을 Cloud Interconnect 연결의 이름으로 바꿉니다.

    출력은 다음과 비슷합니다. 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. Cloud Interconnect 포트 상태, MACsec 작동 상태, 활성 키 이름을 확인하려면 다음 옵션 중 하나를 사용합니다.

    콘솔

    1. Google Cloud 콘솔에서 Cloud Interconnect 실제 연결 탭으로 이동합니다.

      실제 연결로 이동

    2. 보려는 Cloud Interconnect 연결을 선택합니다.

    3. 링크 회선 정보에서 모든 링크의 링크 상태활성으로 표시되는지 확인합니다.

    4. MACsec 키 이름에 모든 링크의 키 이름이 표시되고 각 키 이름에 이 링크의 MACsec가 작동 중 또는 이 링크의 MACsec가 중단됨이 표시되는지 확인합니다.

    gcloud

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

    PROJECT_NAME를 Google Cloud 프로젝트의 이름으로 바꿉니다.

    출력은 다음과 비슷합니다. links.lacpStatus.stateACTIVE가 표시되고 links.macsec.ckn에 값이 표시되고 links.operationalStatusLINK_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
    

    links.macsec.ckn에 표시된 값이 없으면 Google Cloud 지원팀에 문의하여 도움을 받습니다.

  3. 활성 키의 CAK 및 CKN 값과 키의 시작 시간을 확인하려면 다음 옵션 중 하나를 선택합니다.

    콘솔

    1. MACsec 탭에서 사전 공유 키 섹션으로 이동한 다음 현재 활성 키 옆에 있는 보기를 클릭합니다. CKN 값이 표시되지 않으면 Google Cloud 지원팀에 문의하여 도움을 받으세요.

    2. 사전 공유 키 섹션에서 현재 활성 키의 시작 시간이 온프레미스 라우터의 시작 시간과 일치하는지 확인합니다. 다음 중 하나를 수행합니다.

      • 값이 일치하지 않으면 라우터 매뉴얼을 참조하여 라우터의 값을 업데이트한 다음 MACsec 세션을 설정할 수 있는지 확인합니다.

      • 값은 일치하지만 MACsec 세션이 링크에서 여전히 작동 중지되었으면 다음 단계로 진행합니다.

    gcloud

    1. gcloud compute interconnects get-diagnostics 명령어를 실행하여 활성 키의 CKN 값을 표시합니다.

      키가 두 개 이상 구성된 경우 시작 시간이 이후 시간이 아닌 가장 최근의 키가 활성 키로 선택됩니다. Google의 에지 라우터는 이전 키를 사용하려고 시도하는 모든 새 MACsec 세션을 거부합니다.

    2. MACsec 구성을 가져온 다음 이전에 표시된 CKN 값에 해당하는 CAK 값과 키의 시작 시간을 확인합니다.

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      INTERCONNECT_CONNECTION_NAME을 Cloud Interconnect 연결의 이름으로 바꿉니다.

      출력은 다음과 비슷합니다.

      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. 온프레미스 라우터의 활성 CKN, CAK, 시작 시간이 Cloud Interconnect의 MACsec가 표시하는 값과 일치하는지 확인합니다. 다음 중 하나를 수행합니다.

      • 값이 일치하지 않으면 라우터 매뉴얼을 참조하여 라우터의 값을 업데이트한 다음 MACsec 세션을 설정할 수 있는지 확인합니다.

      • 값은 일치하지만 MACsec 세션이 링크에서 여전히 작동 중지되었으면 다음 단계로 진행합니다.

  4. Cloud Interconnect 연결의 인그레스 또는 이그레스에서 패킷이 삭제되는지 측정항목을 확인합니다. 측정항목 보기에 대한 자세한 내용은 연결 모니터링을 참조하세요.

    다음 단계를 확인하려면 다음 안내를 따르세요.

    • network/interconnect/link/macsec/received_errors_count가 증가하면 오류로 인해 인그레스 Cloud Interconnect 연결에서 패킷이 삭제됩니다. 이는 온프레미스 라우터와 Google 에지 라우터 간에 프로토콜 불일치가 존재함을 나타냅니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

    • 다음 카운터가 증가하는 경우 Google Cloud 지원팀에 문의하여 추가 지원을 받으세요.

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • 다음 카운터가 증가하지 않으면 온프레미스 라우터의 이그레스에서 패킷이 삭제되고 있음을 나타냅니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

      • 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가 작동 중이며 패킷 손실이 발생함

Cloud Interconnect에 MACsec를 성공적으로 사용 설정했고 MACsec가 운영 상태로 전환되었지만 패킷 손실이 발생하고 있습니다.

MACsec 연결이 작동하지만 Cloud Interconnect의 링크 집계 제어 프로토콜(LACP) 상태가 Detached인 경우 온프레미스 라우터에 보안 채널 식별자(SCI)가 사용 설정되어 있는지 확인합니다. 자세한 내용은 온프레미스 라우터 구성을 참조하세요.

Cloud Interconnect 연결의 인그레스 또는 이그레스 에서 패킷이 삭제되는지 측정항목을 확인합니다. 측정항목 보기에 대한 자세한 내용은 연결 모니터링을 참조하세요. Cloud Interconnect 연결에 패킷 오류 또는 손실이 표시되지 않으면 MACsec 라우터를 확인합니다.

  • network/interconnect/link/macsec/received_errors_count가 증가하면 오류로 인해 인그레스 Cloud Interconnect 연결에서 패킷이 삭제됩니다. 이는 온프레미스 라우터와 Google 에지 라우터 간에 프로토콜 불일치가 존재함을 나타냅니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

  • 다음 카운터가 증가하는 경우 Google Cloud 지원팀에 문의하여 추가 지원을 받으세요.

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • 다음 카운터가 증가하지 않으면 온프레미스 라우터의 이그레스에서 패킷이 삭제되고 있음을 나타냅니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

    • 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 문제 해결

장애 허용 동작으로 Cloud Interconnect에 MACsec를 사용 설정하면 MACsec 세션을 성공적으로 설정할 수 없더라도 Cloud Interconnect 연결이 트래픽을 계속 전달합니다. 패킷을 일반 텍스트로 전송하지 않도록 프로덕션 Cloud Interconnect 연결에서 장애 허용 동작을 사용하지 않는 것이 좋습니다.

구성을 확인하고 MACsec 연결 상태를 확인하려면 다음을 수행합니다.

  1. Cloud Interconnect 연결의 상태를 확인하려면 다음 옵션 중 하나를 선택하세요.

    콘솔

    1. Google Cloud 콘솔에서 Cloud Interconnect 실제 연결 탭으로 이동합니다.

      실제 연결로 이동

    2. 보려는 Cloud Interconnect 연결을 선택합니다.

    3. MACsec 탭에서 MACsec 구성사용 설정됨, 장애 허용으로 표시되는지 확인합니다.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    INTERCONNECT_CONNECTION_NAME을 Cloud Interconnect 연결의 이름으로 바꿉니다.

    출력은 다음과 비슷합니다.

    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
    

    이 예시에서 macsec.failopentrue를 표시하고 macsecEnabledtrue를 표시합니다.

  2. Cloud Interconnect 연결의 포트 상태, MACsec 작동 상태, 활성 키 이름을 확인하려면 다음 옵션 중 하나를 선택합니다.

    콘솔

    1. Google Cloud 콘솔에서 Cloud Interconnect 실제 연결 탭으로 이동합니다.

      실제 연결로 이동

    2. 보려는 Cloud Interconnect 연결을 선택합니다.

    3. 링크 회선 정보에서 모든 링크의 링크 상태활성으로 표시되는지 확인합니다.

    4. MACsec 키 이름에 모든 링크의 키 이름이 표시되고 각 키 이름에 이 링크의 MACsec가 작동 중 또는 이 링크의 MACsec가 중단됨이 표시되는지 확인합니다.

    gcloud

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

    PROJECT_NAME를 Google Cloud 프로젝트의 이름으로 바꿉니다.

    출력은 다음과 비슷합니다.

      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
    

    이 예에서는 다음과 같이 정의됩니다.

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP은 번들이 작동 중임을 나타냅니다.
    • links.lacpStatus.state: ACTIVE는 LACP 구성원 링크가 작동 중임을 나타냅니다.
    • links.macsec.operational: false는 MACsec가 작동 중지되었음을 나타냅니다.

    이 경우 장애 허용 동작이 사용 설정되었으므로 LACP 제어 패킷이 삭제되지 않습니다.

    links.macsec.ckn에 표시된 값이 없으면 Google Cloud 지원팀에 문의하여 도움을 받습니다.

    gcloud compute interconnects get-diagnostics 명령어는 활성 키의 CKN 값을 표시합니다. 키가 두 개 이상 구성된 경우 시작 시간이 가장 최근인 키가 활성 키로 선택됩니다. Google의 에지 라우터는 이전 키를 사용하려고 시도하는 모든 새 MACsec 세션을 거부합니다.

  3. MACsec 구성을 가져온 후 이전에 표시된 CKN 값에 해당하는 CAK 값과 키의 시작 시간을 확인하려면 다음 옵션 중 하나를 선택합니다.

    콘솔

    1. MACsec 탭에서 사전 공유 키 섹션으로 이동한 다음 현재 활성 키 옆에 있는 보기를 클릭합니다. 키의 CAK 및 CKN 값이 표시되지 않으면 Google Cloud 지원팀에 문의하여 도움을 받으세요.

    2. 사전 공유 키 섹션에서 현재 활성 키의 시작 시간이 온프레미스 라우터의 시작 시간과 일치하는지 확인합니다.

    gcloud

    1. 다음 명령어를 실행합니다.

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      출력은 다음과 비슷합니다.

      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. 온프레미스 라우터의 활성 CKN, CAK, 시작 시간이 Cloud Interconnect의 MACsec가 표시하는 값과 일치하는지 확인합니다.

    3. 다음 중 하나를 수행합니다.

      • 값이 일치하지 않으면 라우터 매뉴얼을 참조하여 라우터의 값을 업데이트한 다음 MACsec를 지금 설정할 수 있는지 확인합니다.

      • 값은 일치하지만 MACsec 세션이 링크에서 여전히 작동 중지되었으면 다음 단계로 진행합니다.

  4. Cloud Interconnect 연결의 패킷 카운터를 관찰하는 측정항목을 확인합니다. 측정항목 보기에 대한 자세한 내용은 연결 모니터링을 참조하세요.

    MACsec 장애 허용 동작이 사용 설정되면 다음 카운터가 증가합니다.

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

    MACsec 장애 허용 동작이 사용 설정되면 다음 카운터가 증가하지 않습니다.

    • 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

    다음 단계를 확인하려면 다음 안내를 따르세요.

    • network/interconnect/link/macsec/received_errors_count가 증가하면 오류로 인해 인그레스 Cloud Interconnect 연결에서 패킷이 삭제됩니다. 이는 온프레미스 라우터와 Google 에지 라우터 간에 프로토콜 불일치가 존재함을 나타냅니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

    • 다음 카운터가 증가하는 경우 Google Cloud 지원팀에 문의하여 추가 지원을 받으세요.

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • 다음 카운터가 증가하지 않으면 온프레미스 라우터의 이그레스에서 패킷이 삭제되고 있음을 나타낼 수 있습니다. 온프레미스 라우터 로그를 확인하여 문제를 해결합니다.

      • 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

다음 단계