Memecahkan masalah MACsec

Halaman ini menjelaskan cara memecahkan masalah MACsec untuk Cloud Interconnect.

Cloud Interconnect menampilkan error saat saya mencoba membuat kunci baru

Jika Anda memiliki kunci MACsec yang sudah ada tanpa waktu mulai dan mencoba membuat kunci baru, Cloud Interconnect akan menampilkan error. Untuk mengatasi error ini, perbarui waktu mulai kunci yang ada.

MACsec secara operasional tidak aktif pada koneksi Cloud Interconnect saya

Anda berhasil mengaktifkan MACsec pada koneksi Cloud Interconnect dan di router lokal, tetapi sesi MACsec menunjukkan bahwa secara operasional MACsec di link koneksi Cloud Interconnect Anda terputus. Masalah ini dapat disebabkan oleh salah satu hal berikut:

  • Kunci aktif di router lokal dan router edge Google tidak cocok.
  • Ketidakcocokan protokol MACsec terjadi antara router lokal dan router edge Google.

Untuk mengatasi status MACsec, lakukan hal berikut:

  1. Untuk memverifikasi bahwa MACsec telah diaktifkan pada koneksi Cloud Interconnect, pilih salah satu opsi berikut:

    Konsol

    1. Di Google Cloud Console, buka tab Physical connections Cloud Interconnect.

      Buka Koneksi fisik

    2. Pilih koneksi Cloud Interconnect yang ingin Anda lihat.

    3. Pada tab MACsec pastikan MACsec konfigurasi menampilkan salah satu dari berikut ini:

      • Diaktifkan, gagal dibuka: Enkripsi MACsec diaktifkan di link. Jika enkripsi MACsec tidak dibuat di antara kedua ujung tersebut, maka link akan beroperasi tanpa enkripsi.

      • Diaktifkan, gagal ditutup: Enkripsi MACsec diaktifkan di link. Jika enkripsi MACsec tidak dibuat di antara kedua ujungnya, mak link akan gagal.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Ganti INTERCONNECT_CONNECTION_NAME dengan nama koneksi Cloud Interconnect Anda.

    Output-nya mirip dengan yang berikut ini. Pastikan macsecEnabled: true ditampilkan:

    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. Untuk memeriksa status port Cloud Interconnect, status operasional MACsec, dan nama kunci aktif, gunakan salah satu opsi berikut:

    Konsol

    1. Di Google Cloud Console, buka tab Physical connections Cloud Interconnect.

      Buka Koneksi fisik

    2. Pilih koneksi Cloud Interconnect yang ingin Anda lihat.

    3. Di Info sirkuit link, pastikan Status link menampilkan Aktif untuk semua link.

    4. Pastikan nama kunci MACsec menampilkan nama kunci untuk semua link, dan setiap nama kunci menampilkan MACsec pada link ini atau MACsec di link ini tidak aktif.

    gcloud

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

    Ganti PROJECT_NAME dengan nama project Google Cloud Anda.

    Output-nya mirip dengan yang berikut ini. Pastikan links.lacpStatus.state menampilkan ACTIVE, links.macsec.ckn menampilkan nilai, dan links.operationalStatus menampilkan 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
    

    Jika tidak ada nilai yang ditampilkan untuk links.macsec.ckn, maka hubungi Google Cloud Support untuk mendapatkan bantuan.

  3. Untuk memverifikasi nilai CAK dan CKN kunci aktif, serta waktu mulai kunci, pilih salah satu opsi berikut:

    Konsol

    1. Di tab MACsec, buka bagian Kunci pra-bagi, lalu klik Lihat di samping kunci yang aktif. Jika nilai CKN tidak ditampilkan, hubungi Google Cloud Support untuk mendapatkan bantuan.

    2. Di bagian Kunci pra-bagi, pastikan waktu mulai yang tercantum untuk kunci aktif cocok dengan waktu mulai di router lokal. Lakukan salah satu hal berikut:

      • Jika nilainya tidak cocok, lihat panduan router untuk memperbarui nilai di router, lalu verifikasi apakah sesi MACsec dapat dibuat.

      • Jika nilainya cocok, tetapi sesi MACsec secara operasional masih tidak berjalan pada link, lanjutkan ke langkah berikutnya.

    gcloud

    1. Jalankan perintah gcloud compute interconnects get-diagnostics untuk menampilkan nilai CKN kunci aktif.

      Jika Anda mengonfigurasi lebih dari satu kunci, kunci dengan waktu mulai terbaru yang tidak di masa mendatang akan dipilih sebagai kunci aktif. Router edge Google menolak setiap sesi MACsec baru yang mencoba menggunakan kunci lama.

    2. Dapatkan konfigurasi MACsec, lalu catat nilai CAK dan waktu mulai kunci yang sesuai dengan nilai CKN yang ditampilkan sebelumnya:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Ganti INTERCONNECT_CONNECTION_NAME dengan nama koneksi Cloud Interconnect Anda.

      Outputnya mirip dengan berikut ini; cari 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. Pastikan CKN, CAK, dan waktu mulai aktif di router lokal cocok dengan nilai yang ditampilkan MACsec untuk Cloud Interconnect. Lakukan salah satu hal berikut:

      • Jika nilainya tidak cocok, lihat panduan router untuk memperbarui nilai di router, lalu verifikasi apakah sesi MACsec dapat dibuat.

      • Jika nilainya cocok, tetapi sesi MACsec secara operasional masih berjalan di link, lanjutkan ke langkah berikutnya.

  4. Melihat metrik untuk menentukan apakah paket menurun saat masuk atau keluar dari koneksi Cloud Interconnect. Untuk informasi tentang melihat metrik, lihat Pantau koneksi.

    Untuk menentukan langkah berikutnya, lakukan hal berikut:

    • Jika network/interconnect/link/macsec/received_errors_count bertambah, paket akan menurun di koneksi Cloud Interconnect yang masuk karena terjadi error. Hal ini menunjukkan adanya ketidakcocokan protokol antara router lokal Anda dan router edge Google. Periksa log router lokal untuk memecahkan masalah.

    • Jika salah satu penghitung berikut bertambah, maka hubungi Google Cloud Support untuk mendapatkan bantuan lebih lanjut:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Jika tidak ada penghitung berikut yang bertambah, maka hal ini menunjukkan bahwa paket turun di traffic keluar router lokal Anda. Periksa log router lokal untuk memecahkan masalah.

      • 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 sedang beroperasi dan mengalami kehilangan paket

Anda berhasil mengaktifkan MACsec untuk Cloud Interconnect dan MACsec secara operasional aktif, tetapi paket Anda akan hilang.

Jika koneksi MACsec Anda beroperasi, tetapi status Link Aggregation Control Protocol (LACP) Cloud Interconnect adalah Detached, pastikan MACsec diaktifkan di router lokal Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi router lokal.

Melihat metrik untuk menentukan apakah paket menurun saat masuk atau keluar dari koneksi Cloud Interconnect. Untuk mengetahui informasi tentang cara melihat metrik, lihat Pantau koneksi. Jika koneksi Cloud Interconnect tidak menunjukkan error atau hilangnya paket apa pun, maka lanjutkan ke pemeriksaan router MACsec:

  • Jika network/interconnect/link/macsec/received_errors_count bertambah, paket akan menurun di koneksi Cloud Interconnect yang masuk karena error. Hal ini menunjukkan adanya ketidakcocokan protokol antara router lokal Anda dan router edge Google. Periksa log router lokal untuk memecahkan masalah.

  • Jika salah satu penghitung berikut bertambah, hubungi Google Cloud Support untuk mendapatkan bantuan lebih lanjut:

    • network/interconnect/link/macsec/received_dropped_packets_count
    • network/interconnect/link/macsec/send_errors_count
    • network/interconnect/link/macsec/send_dropped_packets_count
  • Jika tidak ada penghitung berikut yang bertambah, ini menunjukkan bahwa paket turun di jalur keluar router lokal Anda. Periksa log router lokal untuk memecahkan masalah.

    • 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

Memecahkan masalah MACsec saat perilaku fail-open diaktifkan

Jika Anda mengaktifkan MACsec untuk Cloud Interconnect dengan perilaku yang tidak dapat dibuka, maka koneksi Cloud Interconnect akan terus meneruskan traffic meskipun sesi MACsec tidak berhasil dibuat Sebaiknya Anda Sebaiknya Anda menghindari penggunaan perilaku gagal-terbuka pada koneksi Cloud Interconnect produksi untuk menghindari pengiriman paket sebagai teks yang jelas.

Untuk menentukan konfigurasi dan menyatakan koneksi MACsec Anda, lakukan hal berikut:

  1. Untuk memverifikasi status koneksi Cloud Interconnect, pilih salah satu opsi berikut:

    Konsol

    1. Di Google Cloud Console, buka tab Physical connections Cloud Interconnect.

      Buka Koneksi fisik

    2. Pilih koneksi Cloud Interconnect yang ingin Anda lihat.

    3. Pada tab MACsec pastikan konfigurasi MACsec menampilkan Diaktifkan, gagal dibuka.

    gcloud

    gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
    

    Ganti INTERCONNECT_CONNECTION_NAME dengan nama koneksi Cloud Interconnect Anda.

    Outputnya mirip dengan yang berikut ini; cari macsec failOpen yang disetel ke true dan macsecEnabled yang disetel ke 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
    

    Dalam contoh ini, macsec.failopen menampilkan true dan macsecEnabled menampilkan true.

  2. Untuk memeriksa status port koneksi Cloud Interconnect, status operasional MACsec, dan nama kunci aktif, pilih salah satu opsi berikut:

    Konsol

    1. Di Google Cloud Console, buka tab Physical connections Cloud Interconnect.

      Buka Koneksi fisik

    2. Pilih koneksi Cloud Interconnect yang ingin Anda lihat.

    3. Di Info sirkuit link, pastikan Status link menampilkan Aktif untuk semua link.

    4. Pastikan nama kunci MACsec menampilkan nama kunci untuk semua link, dan setiap nama kunci menampilkan MACsec pada link ini atau MACsec di link ini tidak aktif.

    gcloud

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

    Ganti PROJECT_NAME dengan nama project Google Cloud Anda.

    Outputnya mirip dengan berikut ini; cari bundleOperationalStatus yang disetel ke BUNDLE_OPERATIONAL_STATUS_UP, state yang disetel ke ACTIVE, dan macsec ckn operational yang disetel ke 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
    

    Dalam contoh ini:

    • bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP menunjukkan bahwa paket tersebut telah aktif secara operasional.
    • links.lacpStatus.state: ACTIVE menunjukkan bahwa link anggota LACP aktif.
    • links.macsec.operational: false menunjukkan bahwa MACsec secara operasional tidak aktif.

    Dalam hal ini, karena perilaku fail-open diaktifkan, paket kontrol LACP tidak akan dihapus.

    Jika tidak ada nilai yang ditampilkan untuk links.macsec.ckn, maka hubungi Google Cloud Support untuk mendapatkan bantuan.

    Perintah gcloud compute interconnects get-diagnostics menampilkan nilai CKN kunci aktif. Jika Anda mengonfigurasi lebih dari satu kunci, maka kunci dengan waktu mulai terbaru akan dipilih sebagai kunci aktif. Router edge Google menolak setiap sesi MACsec baru yang mencoba menggunakan kunci lama.

  3. Untuk mendapatkan konfigurasi MACsec, lalu mencatat nilai CAK dan waktu mulai kunci yang sesuai dengan nilai CKN yang ditampilkan sebelumnya, pilih salah satu opsi berikut:

    Konsol

    1. Di tab MACsec, buka bagian Kunci pra-bagi, lalu klik Lihat di samping kunci yang aktif. Jika nilai CAK dan CKN kunci tidak ditampilkan, hubungi Google Cloud Support untuk mendapatkan bantuan.

    2. Di bagian Kunci pra-bagi, pastikan waktu mulai yang tercantum untuk kunci aktif cocok dengan waktu mulai di router lokal.

    gcloud

    1. Jalankan perintah berikut:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      Outputnya mirip dengan berikut ini; cari 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. Pastikan CKN, CAK, dan waktu mulai aktif di router lokal cocok dengan nilai yang ditampilkan MACsec untuk Cloud Interconnect.

    3. Lakukan salah satu hal berikut:

      • Jika nilainya tidak cocok, lihat panduan router untuk memperbarui nilai di router, lalu verifikasi apakah MACsec sekarang dapat dibuat.

      • Jika nilainya cocok, tetapi sesi MACsec secara operasional masih berjalan di link, lanjutkan ke langkah berikutnya.

  4. Melihat metrik untuk mengamati penghitung paket untuk koneksi Cloud Interconnect. Untuk informasi selengkapnya tentang melihat metrik, lihat Pantau koneksi.

    Saat perilaku fail-open MACsec diaktifkan, penghitung berikut akan bertambah:

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

    Jika perilaku fail-open MACsec diaktifkan, penghitung berikut tidak akan bertambah:

    • 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

    Untuk menentukan langkah berikutnya, lakukan hal berikut:

    • Jika network/interconnect/link/macsec/received_errors_count bertambah, paket akan menurun di koneksi Cloud Interconnect yang masuk karena terjadi error. Hal ini menunjukkan adanya ketidakcocokan protokol antara router lokal Anda dan router edge Google. Periksa log router lokal untuk memecahkan masalah.

    • Jika salah satu penghitung berikut bertambah, maka hubungi Google Cloud Support untuk mendapatkan bantuan lebih lanjut:

      • network/interconnect/link/macsec/received_dropped_packets_count
      • network/interconnect/link/macsec/send_errors_count
      • network/interconnect/link/macsec/send_dropped_packets_count
    • Jika tidak ada penghitung berikut yang bertambah, hal ini dapat mengindikasikan bahwa paket turun di traffic keluar router lokal Anda. Periksa log router lokal untuk memecahkan masalah.

      • 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

Apa langkah selanjutnya?