Soluciona problemas de VMs con varias interfaces de red

En esta página, se proporcionan pasos para solucionar problemas comunes que pueden surgir cuando creas y usas VMs con varias interfaces de red.

No puedo crear una VM con varias interfaces

Es posible que veas los siguientes mensajes de error:

  • Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.

    Si ves este mensaje de error, significa que intentaste crear más interfaces que el máximo admitido por el tipo de máquina de tu instancia. Consulta la tabla de cantidad máxima de interfaces.

  • Subnetworks must be distinct for NICs attached to a VM.

    Si ves este mensaje, significa que intentaste crear más de una interfaz en la misma subred. Cada interfaz de red se debe adjuntar a una subred diferente.

  • Networks must be distinct for non-default NICs attached to a VM.

    Si ves este mensaje, significa que intentaste crear más de una interfaz en la misma red. Consulta lo siguiente:

    • Para adjuntar varias interfaces de red a la misma red de VPC, cada interfaz de red se debe adjuntar a la misma red que la interfaz nic0.

    • No se admite adjuntar varias interfaces de red a la misma red de VPC para las NIC dinámicas o las interfaces de Private Service Connect.

  • Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.

    Si ves este mensaje, significa que los rangos de CIDR asociados con las interfaces de tus VM se superponen. Estos rangos de CIDR incluyen todos los rangos principales de las subredes asociadas con las interfaces de VM, y los rangos secundarios utilizados para rangos de IP de alias. Cada interfaz se adjunta a una subred que no debe superponerse con las subredes de otras interfaces. Por ejemplo, si intentas crear la instancia en la región REGION_A, puedes verificar los rangos de CIDR principales de la subred mediante el siguiente comando o la Google Cloud consola.

    gcloud compute networks subnets list --regions REGION_A
    NAME                REGION      NETWORK          RANGE
    default             REGION_A  default          10.138.0.0/20
    overlapping-subnet  REGION_A  test-network     10.138.8.0/24
    

    Para verificar los rangos de CIDR de la subred secundarios, usa el siguiente comando o la Google Cloud consola.

    gcloud compute networks subnets describe overlapping-subnet --region REGION_A
    
    ...
    ipCidrRange: 10.128.8.0/24
    ...
    secondaryIpRanges:
    - ipCidrRange: 10.138.8.0/24
      rangeName: conflicting-range
    
  • Multiple network interfaces are not supported on legacy networks.

    Si ves este mensaje, intentaste crear tu instancia en una red heredada. No se admiten instancias con interfaces múltiples con redes heredadas. Para verificar si una red es heredada, usa uno de los siguientes métodos:

    • En la Google Cloud consola de, ve a la página Redes de VPC y verifica la columna Modo.
    • Ejecuta el comando gcloud compute networks list y verifica el campo SUBNET_MODE.
  • Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'

    Si ves este mensaje, significa que la cuenta con la que estás conectado no tiene los permisos de IAM necesarios para crear una instancia. Para obtener más información sobre las funciones necesarias para crear instancias, consulta Permisos, IAM y instancias con varias interfaces de red. Puedes verificar si la política de IAM asociada con tu proyecto te otorga alguna de las siguientes funciones: OWNER, EDITOR o compute.instanceAdmin.v1. Para crear instancias en VPC compartida, también necesitarías la función compute.networkUser. En el siguiente ejemplo, la cuenta email2@gmail.com no tiene suficientes permisos de IAM para crear una instancia. Para ver instrucciones más detalladas consulta la guía de IAM Otorga, cambia y revoca el acceso a recursos.

    gcloud projects get-iam-policy PROJECT_ID
    bindings:
    - members:
      - user:email1@gmail.com
        role: roles/owner
    - members:
      - serviceAccount:our-project-123@appspot.gserviceaccount.com
      - serviceAccount:123456789012-compute@developer.gserviceaccount.com
        role: roles/editor
    - members:
      - user:email2@gmail.com
        role: roles/viewer
    etag: BwUjMhXbSPU=
    version: 1
    

    Puedes pedirle al propietario o al editor del proyecto que te otorgue una función OWNER, EDITOR o compute.instanceAdmin.v1. También necesitarías la función compute.networkUser si asocias cualquier interfaz con una subred que pertenezca a la VPC compartida.

    gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
    

No puedo conectarme a la dirección IP interna de una interfaz secundaria

  • Verifica las reglas de firewall para ver si permiten la conectividad a la interfaz secundaria de la VM. Puedes verificarlo si buscas la red adjunta a la interfaz secundaria en las reglas de firewall. Para hacer esto, visita la Google Cloud consola y haz clic en la red de VPC apropiada o usa el siguiente comando de gcloud.

    gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
    
  • Verifica si la conexión a la interfaz secundaria se produce desde una dirección IP o desde el exterior de la red de la interfaz secundaria. Solo puedes conectarte a la IP interna de una interfaz desde el interior de su red. Si necesitas conectarte a esa interfaz desde el exterior de la red, puedes asignarle una dirección IP externa a tu interfaz secundaria.

  • Verifica si la conexión a la IP interna de la interfaz secundaria proviene del exterior de la subred a la que se adjunta la interfaz secundaria: desde otra subred de la misma red o desde una red de intercambio de tráfico. En Interfaces de red múltiples por instancia, se explica la interacción entre las redes de intercambio de tráfico de VPC y las instancias de VM con varias interfaces. Para llegar a las interfaces secundarias desde fuera de la subred de la interfaz, es posible que debas configurar las rutas en la VM. Consulta Especificaciones para obtener detalles sobre cómo los programas de DHCP establecen rutas predeterminadas en la VM.

  • Si intentas acceder a una dirección IPv6, consulta también No puedo conectarme a la dirección IPv6 de una interfaz secundaria.

No puedo conectarme a una interfaz secundaria con una dirección IP externa

El servidor DHCP programa una ruta predeterminada solo en la interfaz de red principal de la VM. Si deseas conectarte a la interfaz secundaria con una IP externa, hay dos opciones. Si solo necesitas conectarte fuera de la red en la interfaz de red secundaria, puedes configurar una ruta predeterminada en esa interfaz de red. De lo contrario, puedes usar el enfoque descrito en el instructivo Configura el enrutamiento para una interfaz adicional a fin de configurar una tabla de enrutamiento separada en tu VM, mediante la política de enrutamiento basada en el origen.

Si intentas acceder a una dirección IPv6, consulta también No puedo conectarme a la dirección IPv6 de una interfaz secundaria.

No puedo conectarme a la dirección IPv6 de una interfaz secundaria

Si intentas acceder a una dirección IPv6, verifica que la VM tenga instalada la versión 20220603.00 de google-guest-agent o una posterior. Para obtener más información sobre cómo administrar las versiones de google-guest-agent, consulta Entorno invitado.

Si tienes una versión anterior de google-guest-agent, las interfaces secundarias no reciben una ruta de subred IPv6. Te recomendamos que actualices el agente invitado para que las rutas estén configuradas de forma correcta.

Sin embargo, como solución alternativa, puedes crear una secuencia de comandos de inicio a fin de realizar el siguiente cambio de configuración para cada interfaz secundaria.

sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128

Reemplaza INTERFACE_NAME con el nombre de la interfaz, por ejemplo, eth1 o ens5.

Tengo problemas de conectividad cuando uso una máscara de red que no sea /32

Para obtener información sobre cómo configurar interfaces de red con máscaras de red distintas de /32, consulta Máscaras de red de instancias de procesamiento.

No puedo resolver el nombre de host interno de una VM con varias interfaces de red

Cuando se ejecuta una consulta de DNS con un nombre de host interno, se resuelve en la interfaz de red principal (nic0) de la instancia.

Si nic0 está conectado a una red de VPC diferente a la red de VPC de la instancia que emite la consulta de DNS, la consulta de DNS falla. El DNS interno se resuelve solo dentro de una red de VPC determinada. Para obtener más información, consulta DNS interno de Compute Engine.

Recibo un error cuando borro una NIC dinámica mediante la actualización de las propiedades de la instancia

En raras ocasiones, si borras una interfaz de red dinámica (NIC) cuando actualizas las propiedades de una instancia, es posible que la actualización falle. Después de la falla, la instancia vuelve a su estado original. En casos muy raros, es posible que la NIC dinámica permanezca borrada.

Si tienes este problema, haz lo siguiente:

  • Para resolver el problema: usa el mismo comando o solicitud para volver a actualizar las propiedades de la instancia. Si vuelves a ejecutar la operación, te aseguras de que la instancia alcance el estado que especificaste en tu solicitud original.

  • Para evitar que el problema vuelva a ocurrir: no borres las NIC dinámicas de una instancia actualizando las propiedades de la instancia. En su lugar, borra las NIC dinámicas directamente como se describe en Borra NIC dinámicas.

Recibo un error cuando borro una NIC dinámica mediante la actualización de las configuraciones del MIG

En raras ocasiones, si borras una NIC dinámica cuando actualizas las configuraciones de la instancia en un MIG, es posible que la actualización falle. Después de la falla, las instancias vuelven a su estado original.

Compute Engine resuelve este problema de forma automática. Para ello, vuelve a intentar la operación de actualización hasta que se complete correctamente. Puedes verificar periódicamente el estado de las instancias administradas hasta que se resuelva el error del último intento.

Soluciona problemas con la consola en serie

A menudo, es una buena idea habilitar la consola en serie en una VM para depurar problemas relacionados con la configuración. Sigue los pasos en Soluciona problemas con la consola en serie para habilitarla y realizar una depuración interactiva.