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
Si tienes una clave MACsec sin hora de inicio y tratas de crear una nueva, Cloud Interconnect mostrará un error. Para resolver el error, actualiza la hora de inicio de la clave actual.
MACsec no funciona en mi conexión de Cloud Interconnect
Has habilitado correctamente MACsec en tu conexión de Cloud Interconnect y en tu router on-premise, pero la sesión de MACsec muestra que está inactiva en los enlaces de tu conexión de Cloud Interconnect. El problema puede deberse a uno de los siguientes motivos:
- Las claves activas de tu router local y de los routers perimetrales de Google no coinciden.
- Hay una discrepancia en el protocolo MACsec entre tu router on-premise y el router perimetral de Google.
Para resolver el estado de MACsec, haga lo siguiente:
Para verificar que MACsec esté habilitado en tu conexión de Cloud Interconnect, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la pestaña Cloud Interconnect > Conexiones físicas.
Selecciona la conexión de Cloud Interconnect que quieras ver.
En la pestaña MACsec, compruebe que en Configuración de MACsec se muestra una de las siguientes opciones:
Habilitado, fallo abierto: el cifrado MACsec está habilitado en el enlace. Si no se establece el cifrado MACsec entre ambos extremos, el enlace funcionará sin cifrado.
Habilitado, error cerrado: el cifrado MACsec está habilitado en el enlace. Si no se establece el cifrado MACsec entre ambos extremos, el enlace fallará.
gcloud
gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
Sustituye
INTERCONNECT_CONNECTION_NAME
por el nombre de tu conexión de Cloud Interconnect.La salida es similar a la siguiente. Verifica que se muestra
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
Para comprobar el estado del puerto de Cloud Interconnect, el estado operativo de MACsec y el nombre de la clave activa, usa una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la pestaña Cloud Interconnect > Conexiones físicas.
Selecciona la conexión de Cloud Interconnect que quieras ver.
En Información del circuito de enlace, compruebe que el Estado del enlace sea
Activo en todos los enlaces.Verifica que Nombre de clave MACsec muestre un nombre de clave para todos los enlaces y que cada nombre de clave muestre
MACsec en este enlace está activo o MACsec en este enlace está inactivo.
gcloud
gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \ --project=PROJECT_NAME
Sustituye
PROJECT_NAME
por el nombre de tuGoogle Cloud proyecto.La salida es similar a la siguiente. Comprueba que
links.lacpStatus.state
muestraACTIVE
, quelinks.macsec.ckn
muestra un valor y quelinks.operationalStatus
muestraLINK_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 ningún valor en
links.macsec.ckn
, ponte en contacto con el equipo de Asistencia para obtener ayuda.Google CloudPara verificar los valores CAK y CKN de la clave activa, así como la hora de inicio de la clave, selecciona una de las siguientes opciones:
Consola
En la pestaña MACsec, vaya a la sección Claves precompartidas y, a continuación, haga clic en Ver junto a la clave activa. Si no se muestra ningún valor de CKN, ponte en contacto con el Google Cloud equipo de Asistencia para obtener ayuda.
En la sección Claves precompartidas, comprueba que la hora de inicio que aparece en la clave activa coincida con la hora de inicio de tu router local. Elige una de estas opciones:
Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en él y, a continuación, comprueba si se puede establecer una sesión MACsec.
Si los valores coinciden, pero la sesión de MACsec sigue sin funcionar en el enlace, continúa con el siguiente paso.
gcloud
Ejecuta el comando
gcloud compute interconnects get-diagnostics
para mostrar el valor CKN de la clave activa.Si tienes configuradas varias llaves, se seleccionará como llave activa la que tenga la hora de inicio más reciente que no sea futura. Los routers perimetrales de Google rechazan cualquier sesión MACsec nueva que intente usar claves antiguas.
Obtén la configuración de MACsec y anota el valor de CAK y la hora de inicio de la clave que corresponden al valor de CKN que se ha mostrado anteriormente:
gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
Sustituye
INTERCONNECT_CONNECTION_NAME
por el nombre de tu conexión de Cloud Interconnect.La salida es similar a la siguiente. Busca el
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
Verifica que la CKN, la CAK y las horas de inicio activas de tu router local coincidan con los valores que muestra MACsec para Cloud Interconnect. Elige una de estas opciones:
Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en él y, a continuación, comprueba si se puede establecer una sesión MACsec.
Si los valores coinciden, pero la sesión de MACsec sigue inactiva en el enlace, continúa con el siguiente paso.
Consulta las métricas para determinar si los paquetes se están descartando en la entrada o en la salida de la conexión de Cloud Interconnect. Para obtener información sobre cómo ver las métricas, consulta Monitorizar conexiones.
Para saber qué va a ocurrir, haz lo siguiente:
Si
network/interconnect/link/macsec/received_errors_count
aumenta, significa que los paquetes se están retirando en la conexión de Cloud Interconnect de entrada debido a errores. Esto indica que hay una incompatibilidad de protocolo entre tu router on-premise y los routers perimetrales de Google. Consulta los registros de tu router local para solucionar el problema.Si alguno de los siguientes contadores aumenta, ponte en contacto con elGoogle Cloud equipo de Asistencia 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 están descartando en la salida de tu router local. Consulta 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á operativo y se están perdiendo paquetes
Has habilitado MACsec para Cloud Interconnect correctamente y MACsec está operativo, pero experimentas pérdida de paquetes.
Si tu conexión MACsec funciona, pero el estado del protocolo de control de agregación de enlaces (LACP) de Cloud Interconnect es Detached
, comprueba que el identificador de canal seguro (SCI) esté habilitado en tu router local. Para obtener más información, consulta el artículo sobre cómo configurar tu router local.
Consulta las métricas para determinar si se están descartando paquetes 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 Monitorizar conexiones. Si la conexión de Cloud Interconnect no muestra ningún error ni pérdida de paquetes, comprueba los routers MACsec:
Si
network/interconnect/link/macsec/received_errors_count
aumenta, significa que los paquetes se están descartando en la conexión de Cloud Interconnect de entrada debido a errores. Esto indica que hay un error de coincidencia de protocolo entre tu router local y los routers perimetrales de Google. Consulta los registros de tu router local para solucionar el problema.Si alguno de los siguientes contadores aumenta, ponte en contacto con el Google Cloudequipo de Asistencia 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 están descartando en la salida de tu router local. Consulta 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
Solucionar problemas de MACsec cuando el comportamiento de apertura en caso de fallo está habilitado
Si habilitas MACsec para Cloud Interconnect con un comportamiento de apertura en caso de fallo, tu conexión de Cloud Interconnect seguirá reenviando tráfico aunque no se pueda establecer una sesión de MACsec correctamente. Te recomendamos encarecidamente que evites usar el comportamiento de apertura en caso de fallo en las conexiones de Cloud Interconnect de producción para no transmitir paquetes como texto sin cifrar.
Para determinar la configuración y el estado de tu conexión MACsec, haz lo siguiente:
Para verificar el estado de tu conexión de Cloud Interconnect, selecciona una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la pestaña Cloud Interconnect > Conexiones físicas.
Selecciona la conexión de Cloud Interconnect que quieras ver.
En la pestaña MACsec, comprueba que en Configuración de MACsec se muestre Habilitado, fail open.
gcloud
gcloud compute interconnects describe INTERCONNECT_CONNECTION_NAME
Sustituye
INTERCONNECT_CONNECTION_NAME
por el nombre de tu conexión de Cloud Interconnect.La salida es similar a la siguiente. Busca
macsec failOpen
con el valortrue
ymacsecEnabled
con el valortrue
: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
muestratrue
ymacsecEnabled
muestratrue
.Para comprobar el estado del puerto de la conexión de Cloud Interconnect, el estado operativo de MACsec y el nombre de la clave activa, seleccione una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la pestaña Cloud Interconnect > Conexiones físicas.
Selecciona la conexión de Cloud Interconnect que quieras ver.
En Información del circuito de enlace, compruebe que el Estado del enlace sea
Activo en todos los enlaces.Verifica que Nombre de clave MACsec muestre un nombre de clave para todos los enlaces y que cada nombre de clave muestre
MACsec en este enlace está activo o MACsec en este enlace está inactivo.
gcloud
gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME \ --project=PROJECT_NAME
Sustituye
PROJECT_NAME
por el nombre de tuGoogle Cloud proyecto.La salida será similar a la siguiente. Busca el valor
BUNDLE_OPERATIONAL_STATUS_UP
debundleOperationalStatus
, el valorACTIVE
destate
y el valorfalse
demacsec
ckn
operational
: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á operativo.links.lacpStatus.state: ACTIVE
indica que el enlace miembro de LACP está activo.links.macsec.operational: false
indica que MACsec no funciona.
En este caso, como el comportamiento de apertura en caso de fallo está habilitado, los paquetes de control LACP no se descartan.
Si no se muestra ningún valor en
links.macsec.ckn
, ponte en contacto con el equipo de Asistencia para obtener ayuda.Google CloudEl comando
gcloud compute interconnects get-diagnostics
muestra el valor de CKN de la clave activa. Si tienes configurada más de una clave, se seleccionará como clave activa la que tenga la hora de inicio más reciente. Los routers de borde de Google rechazan cualquier sesión MACsec nueva que intente usar las claves antiguas.Para obtener la configuración de MACsec y, a continuación, anotar el valor de CAK y la hora de inicio de la clave que corresponden al valor de CKN mostrado anteriormente, seleccione una de las siguientes opciones:
Consola
En la pestaña MACsec, vaya a la sección Claves precompartidas y, a continuación, haga clic en Ver junto a la clave activa. Si no se muestran los valores de CAK y CKN de la clave, ponte en contacto con el Google Cloud equipo de Asistencia para obtener ayuda.
En la sección Claves precompartidas, comprueba que la hora de inicio que aparece en la clave activa coincida con las horas de inicio de tu router local.
gcloud
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
Verifica que la CKN, la CAK y las horas de inicio activas de tu router local coincidan con los valores que muestra MACsec para Cloud Interconnect.
Elige una de estas opciones:
Si los valores no coinciden, consulta el manual de tu router para actualizar los valores en él y, a continuación, comprueba si se puede establecer una conexión MACsec.
Si los valores coinciden, pero la sesión de MACsec sigue inactiva en el enlace, continúa con el siguiente paso.
Consulta las métricas para observar los contadores de paquetes de tu conexión de Cloud Interconnect. Para obtener más información sobre cómo ver métricas, consulta Monitorizar conexiones.
Cuando se habilita el comportamiento de apertura en caso de fallo de MACsec, se incrementan los siguientes contadores:
network/interconnect/sent_unicast_packets_count
network/interconnect/received_unicast_packets_count
Cuando el comportamiento de apertura en caso de fallo 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 saber qué va a ocurrir, haz lo siguiente:
Si
network/interconnect/link/macsec/received_errors_count
aumenta, significa que los paquetes se están retirando en la conexión de Cloud Interconnect de entrada debido a errores. Esto indica que hay una incompatibilidad de protocolo entre tu router on-premise y los routers perimetrales de Google. Consulta los registros de tu router local para solucionar el problema.Si alguno de los siguientes contadores aumenta, ponte en contacto con elGoogle Cloud equipo de Asistencia 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, puede indicar que los paquetes se están descartando en la salida de tu router local. Consulta 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
Siguientes pasos
- Rotar las claves de MACsec
- Ver el estado de MACsec
- Modificar el comportamiento de apertura en caso de fallo
- Obtener claves MACsec