Crea instancias con interfaces de red múltiples

De forma predeterminada, cada instancia de máquina virtual (VM) en una red de VPC tiene una única interfaz de red. Sin embargo, puedes configurar una instancia con varias interfaces de red. Cuando se usan interfaces múltiples desde una instancia, cada interfaz se debe conectar a una red de VPC diferente; no se pueden adjuntar interfaces de red múltiples a la misma red de VPC.

Puedes configurar interfaces de VM solo con direcciones IPv4 (pila única) o direcciones IPv4 e IPv6 (pila doble).

Si no necesitas interfaces de red múltiples, sigue el procedimiento Crea e inicia una instancia para crear instancias con la configuración de red predeterminada.

Para obtener más información sobre cómo funcionan las interfaces de red múltiples, consulta Interfaces de red múltiples.

Especificaciones

  • La interfaz de red solo puede configurarse en el momento en que se crea la instancia.

  • Cada interfaz de red configurada en una sola instancia debe cumplir con estos requisitos:

    • Conéctate a una red de VPC diferente, ya sea una red de VPC independiente o una VPC compartida.
    • Pertenece a una subred cuyo rango de IP no se superponga con las subredes de otras interfaces.
  • Si deseas crear una VM que esté conectada a varias redes de VPC, todas las redes deben existir antes de crear la instancia. Para obtener más información sobre la creación de redes, consulta Crea y modifica redes de nube privada virtual (VPC).

  • No se puede borrar una interfaz de red sin borrar la instancia.

  • Cada instancia debe tener como mínimo una interfaz de red y un máximo de ocho, según el tipo de máquina de la instancia.

    • nic0 es obligatorio y se debe configurar en la creación de la instancia.
    • nic1 a nic7 son opcionales, pero también deben configurarse en la creación de la instancia.
    • Para obtener más información, consulta Cantidad máxima de interfaces.
  • De forma opcional, cada interfaz puede tener una dirección IPv4 externa.

  • Si conectas una VM a una subred que tiene un rango de subred IPv6 interno o externo, puedes configurar una dirección IPv6 interna o externa de manera opcional.

  • El servidor DHCP de Google Cloud envía una ruta predeterminada (RFC 3442, “ruta estática sin clase”) solo a la NIC predeterminada, nic0. Si necesitas una ruta predeterminada en otra NIC, debes configurar la política de enrutamiento en la instancia.

  • Todas las interfaces de VM deben conectarse a redes en el mismo proyecto que la VM o a una VPC compartida con el proyecto.

Limitaciones

  • No puedes agregar o quitar interfaces de red de una VM existente.

  • El reenvío de IP está habilitado a nivel de la VM y no se puede aplicar a interfaces individuales.

Instancias, IAM y permisos con interfaces de red múltiples

Para crear una instancia con interfaces de red múltiples, debes contar con una de las siguientes funciones:

  • La función propietario o editor del proyecto
  • La función compute.instanceAdmin.v1

Crea y borra instancias y plantillas de instancias con varias interfaces en el entorno de un proyecto en el que no se use la VPC compartida: Un usuario con la función PROPIETARIO, EDITOR o compute.instanceAdmin.v1 a nivel de proyecto puede crear una instancia con varias interfaces asociadas con redes de VPC y subredes que forman parte de ese mismo proyecto.

Crea y borra instancias y plantillas de instancias con varias interfaces en los entornos de VPC compartida: Un usuario con la función PROPIETARIO, EDITOR o compute.instanceAdmin.v1 a nivel del proyecto puede crear una instancia con varias interfaces. Si alguna de las interfaces está asociada con una subred en un proyecto host de VPC compartida, también debes tener la función compute.networkUser a nivel de proyecto host de VPC compartida o a nivel de subred de VPC compartida.

Para obtener más información sobre los permisos, consulta la documentación de IAM de Compute Engine.

Cómo utilizar interfaces de red múltiples con diferentes tipos de redes de VPC

  • No se admiten interfaces de red múltiples con redes heredadas.
  • Cuando configures interfaces de red múltiples, debes adjuntar cada interfaz a una red de VPC en modo automático o en modo personalizado.

Asignación de una dirección IP a la interfaz de red

  • Debes configurar cada interfaz de red con una dirección IP interna principal que se asigna desde el rango de direcciones IP principal de una subred.
    • La dirección interna principal asignada a cada una de las interfaces en una sola instancia debe ser diferente.
  • Puedes elegir configurar cada una de las interfaces virtuales (NIC) con una dirección IP externa única. Las direcciones externas pueden ser efímeras o reservadas.

Cantidad máxima de interfaces de red

La cantidad de interfaces de red virtuales escala con el número de CPU virtuales con un mínimo de 2 y un máximo de 8.

Utiliza la siguiente tabla para determinar cuántas interfaces de red pueden adjuntarse a una instancia:

Número de CPU virtuales Cantidad de vNIC
2 o menos 2
De 2 a 8 De 2 a 8
8 o más 8

Antes de comenzar

  • Verifica que se creen todas las redes requeridas antes de crear la instancia. Si necesitas crear redes, consulta Crea y modifica redes de nube privada virtual (VPC).

  • Verifica que cada red tenga reglas de firewall adecuadas para permitir el tráfico desde y hacia la VM con varias interfaces. Si necesitas crear reglas de firewall, consulta Usa reglas de firewall.

  • Si conectas una VM a varias redes con direcciones IPv6, la VM necesita una de las siguientes configuraciones. De lo contrario, las interfaces con direcciones IPv6 no están configuradas con una ruta de subred IPv6.

    • La VM tiene la versión 20220412.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 de invitado.

    • La VM tiene una secuencia de comandos de inicio configurada 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.

Crea instancias de máquinas virtuales con interfaces de red múltiples

La creación de una instancia con una única interfaz no se modifica. Para obtener instrucciones generales sobre cómo crear instancias, consulta Cómo crear e iniciar una instancia.

Puedes agregar varias interfaces de red cuando crees una instancia de la siguiente forma:

  • En Console, agrega interfaces de red desde la página Crear una instancia, en la sección Redes -> Interfaces de redes.
  • En la herramienta de línea de comandos de gcloud, usa el comando instances create. Incluye la marca --network-interface para cada interfaz, seguida de las claves de red correspondientes, como ([network | subnet], private-network-ip, address).

La primera interfaz siempre se crea como nic0 y siempre es la interfaz predeterminada. Esto es importante para otros aspectos de las herramientas de redes de Google Cloud. Por ejemplo, los balanceadores de cargas de Google Cloud (excepto el balanceo de cargas de TCP/UDP interno) solo distribuyen el tráfico a nic0.

Console

  1. Ir a la página Crear una instancia

    Ir a Crear una instancia

  2. Ingresa un Nombre para la instancia.

  3. Selecciona una Región.

  4. Selecciona una zona.

  5. Expande la sección Herramientas de redes, discos, seguridad, administración, usuario único.

  6. Expande Herramientas de redes y haz lo siguiente:

    1. En la sección Interfaces de red, expande una interfaz de red para editarla.

    2. En Red y Subred, selecciona la red y la subred que deseas usar.

      Si deseas configurar direcciones IPv6 en la interfaz, selecciona una subred que tenga configurado un rango de direcciones IPv6. El tipo de acceso IPv6 de la subred determina si la VM recibe una dirección IPv6 interna o externa.

    3. Selecciona un Tipo de pila IP: IPv4 (pila única) o IPv4 e IPv6 (pila doble)

    4. En IP interna principal, selecciona una de las siguientes opciones:

      • Efímera para asignar una dirección IPv4 efímera nueva
      • Una dirección IPv4 reservada de la lista
      • Estática para asignar una nueva dirección IPv4 estática
    5. En Dirección IPv4 externa, selecciona una de las siguientes opciones:

      • Efímera para asignar una dirección IPv4 efímera nueva
      • Ninguna para no asignar una dirección IPv4 externa
      • Una dirección IPv4 reservada de la lista
      • Crea una dirección IP nueva para asignar una dirección IPv4 estática nueva.
    6. Para terminar de modificar la interfaz de red, haz clic en Listo.

  7. Haz clic en Agregar interfaz de red para agregar otra interfaz.

  8. Continúa con el proceso de creación de VM.

  9. Haga clic en Crear.

gcloud

Crea interfaces de red en una instancia nueva con el comando instances create. Incluye la marca --network-interface para cada interfaz, seguida de las claves de red correspondientes, como [network,subnet],private-network-ip,address).

En este fragmento, solo se muestra la marca --network-interface, que es uno de los parámetros posibles que puedes especificar cuando creas una instancia. Si deseas ver otras marcas, consulta la referencia de gcloud para el comando instances create. Consulta la tabla Cantidad máxima de interfaces de red para ver qué tipo de máquina admite la cantidad de interfaces de red que necesitas.

gcloud compute instances create INSTANCE_NAME \
    --zone [ZONE] \
    [--network-interface \
        [network=NETWORK,subnet=SUBNET], \
        [stack-type=STACK_TYPE], \
        [address=RESERVED_EXTERNAL_ADDRESS | no-address], \
        [private-network-ip=INTERNAL_ADDRESS] \
    ...]

Reemplaza lo siguiente:

  • ZONE: Es la zona en la que se crea la instancia.
  • NETWORK: La red a la que se adjuntará la interfaz.
  • SUBNET: La subred a la que se adjuntará la interfaz.
  • STACK_TYPE: Es el tipo de pila para la interfaz. El valor predeterminado es IPV4_ONLY. Especifica IPV4_IPV6 para configurar una interfaz de pila doble.
  • RESERVED_EXTERNAL_ADDRESS: Asigna la dirección IP externa con nombre a la interfaz. Debes haber reservado con anterioridad una dirección externa. Especifica “no-address” en lugar de address=RESERVED_EXTERNAL_ADDRESS si no deseas que la interfaz tenga una dirección IP externa. Especifica address='' si deseas que la interfaz reciba una dirección IP externa efímera.
  • INTERNAL_ADDRESS: la dirección IP interna que quieres que tenga la interfaz en la subred de destino. Omite si deseas asignar cualquier dirección válida.

API

Crear una instancia de VM con varias interfaces de red

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "networkInterfaces": [
    {
      "subnetwork": "SUBNET_URL"
    },
      for each interface, specify a network...
  ],
  other instance settings...
}

Reemplaza los marcadores de posición por valores válidos:

  • SUBNET_URL es la URL de la subred en la que se ubicará la interfaz de red.
  • PROJECT_ID es el ID del proyecto que contendrá la instancia.
  • ZONE es la zona que contendrá la instancia.

Para obtener más información, consulta el método instances.insert.

Terraform

Puedes usar un recurso de Terraform para crear una instancia de VM con varias interfaces de red.

Los argumentos de Terraform tienen valores de ejemplo que puedes cambiar.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace with your project ID in quotes
  zone         = "us-central1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    subnetwork = var.subnet_1 # Replace with self link to a subnetwork in quotes
    network_ip = "10.0.0.14"
  }
  network_interface {
    subnetwork = var.subnet_2 # Replace with self link to a subnetwork in quotes
    network_ip = "10.10.20.14"
  }
}

Configuración de ejemplo

En las siguientes secciones, se muestra cómo crear VM con varias interfaces.

Configura varias interfaces con direcciones IPv4

Con el siguiente comando de muestra, se crea una instancia con tres interfaces de red.

 gcloud compute instances create vm1 --machine-type=n1-standard-4 \
    --network-interface '' \
    --network-interface network=net1,subnet=subnet-a,private-network-ip=10.10.10.2,address=RESERVED_EXTERNAL_ADDRESS \
    --network-interface network=net2,subnet=subnet-b,private-network-ip=10.10.20.2,no-address

A continuación, se detalla cómo se crean las interfaces:

  • nic0 se crea con la configuración predeterminada. La interfaz se adjunta a la red de VPC predeterminada, con una dirección IP interna asignada de forma automática y una dirección IP externa efímera.

  • nic1 se conecta a la subred subnet-a en la red net1, con una dirección IP interna de 10.10.10.2 y una dirección IP externa estática, RESERVED_EXTERNAL_ADDRESS.

  • nic2 se conecta a la subred subnet-b en la red net2, con una dirección IP interna de 10.10.20.2 y sin una dirección IP externa.

Para obtener una descripción completa del comando gcloud compute instances create y la marca --network-interface, lee la documentación del comando.

Puedes usar la dirección IP de la NIC que agregaste para configurar el reenvío de DNS. Para obtener más información sobre cómo configurar las zonas de reenvío de Cloud DNS, consulta Zonas de reenvío.

Configura varias interfaces con direcciones IPv4 e IPv6

Con el siguiente comando de muestra, se crea una instancia de pila doble con dos interfaces de red.

gcloud compute instances create vm1 \
--network-interface network=dual-int,subnet=int-subnet,stack-type=IPV4_IPV6 \
--network-interface network=dual-ext,subnet=ext-subnet,stack-type=IPV4_IPV6,ipv6-network-tier=PREMIUM \
--machine-type=n1-standard-4 --zone=us-west2-a

A continuación, se detalla cómo se crean las interfaces:

  • nic0 se conecta a la subred int-subnet en la red dual-int, con una dirección IPv4 interna efímera y una dirección IPv6 interna efímera.

  • nic1 se conecta a la subred ext-subnet en la red dual-ext, con una dirección IPv4 interna efímera y una dirección IPv6 externa efímera.

Configura interfaces de red múltiples para grupos de instancias

Puedes usar instancias con interfaces de red múltiples en grupos de instancias no administrados y grupos de instancias administrados.

En los grupos de instancias no administrados, crea cada instancia de forma individual y asegúrate de que la interfaz de red nic0 para cada VM esté en la misma red de VPC. Luego, agrega las instancias de VM al grupo de instancias no administrado.

A fin de configurar varias interfaces de red para grupos de instancias administrados, debes especificar la configuración de red de cada interfaz en la plantilla de instancias mediante la configuración de la marca --network-interface una vez para cada interfaz. En el siguiente ejemplo, se crea una plantilla de instancias con tres interfaces de red:

gcloud compute instance-templates create template-1 \
    --network-interface subnet=net0-subnet-a \
    --network-interface subnet=net1-subnet-b,no-address \
    --network-interface subnet=net2-subnet-c,no-address \
    --region us-central1

Debido a que los nombres de subred en cada región de un proyecto deben ser únicos, la especificación de las subredes por nombre asocia de forma implícita cada interfaz con una red de VPC. Cada interfaz debe usar una red de VPC única:

  • nic0 usa la subred net0-subnet-a.
  • nic1 usa la subred net1-subnet-b.
  • nic2 usa la subred net2-subnet-c.

La opción no-address en la marca --network-interface indica que la interfaz está configurada sin una dirección IP externa. La dirección IP interna proviene de la subred que usa la interfaz. Para obtener información completa sobre las marcas y la sintaxis, consulta la marca --network-interface del comando instance-templates create.

Configura la política de enrutamiento

Para las imágenes admitidas por Google, cuando necesitas una interfaz de red secundaria (que no sea nic0) a fin de comunicarte con cualquier dirección IP que no sea local al rango de subredes principal de esa subred asociada a la interfaz secundaria, debes configurar una política de enrutamiento y así garantizar que los paquetes de salida salgan a través de la interfaz correcta. En esos casos, debes utilizar una política de enrutamiento para configurar una tabla de enrutamiento separada por cada interfaz de red.

Los sistemas operativos de Windows no admiten el enrutamiento de políticas basado en el origen.

Encuentra la puerta de enlace predeterminada para la interfaz

Puedes encontrar la puerta de enlace predeterminada para la interfaz de una VM si consultas el servidor de metadatos.

  • Para encontrar la puerta de enlace predeterminada para la dirección IPv4 de una interfaz, realiza la siguiente solicitud desde la VM:

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google"
    

    Reemplaza INTERFACE_NUMBER por el número de interfaz. Por ejemplo, a fin de encontrar la puerta de enlace predeterminada para nic1, usa 1.

  • Para encontrar la puerta de enlace predeterminada para la dirección IPv6 de una interfaz, realiza la siguiente solicitud desde la VM:

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway-ipv6 -H "Metadata-Flavor: Google"
    

    Reemplaza INTERFACE_NUMBER por el número de interfaz. Por ejemplo, a fin de encontrar la puerta de enlace predeterminada para nic1, usa 1.

Configura el enrutamiento basado en políticas en las VM de Linux

Para evitar perder la conectividad a la VM mientras cambias la ruta predeterminada, usa la consola en serie.

  • Configura la política de enrutamiento para cada interfaz secundaria con ifconfig. No configures la interfaz principal (nic0), ya que tiene una ruta configurada.

    sudo ifconfig NIC IP_ADDRESS netmask NETMASK broadcast IP_ADDRESS mtu 1430
    echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables
    sudo ip route add GATEWAY src IP_ADDRESS dev NIC table rt1
    sudo ip route add default via GATEWAY dev NIC table rt1
    sudo ip rule add from IP_ADDRESS/PREFIX_LENGTH table rt1
    sudo ip rule add to IP_ADDRESS/PREFIX_LENGTH  table rt1
    

    Reemplaza lo siguiente:

    • NIC: Es la interfaz a la que deseas agregar una ruta. Por ejemplo, eth1
    • IP_ADDRESS: Es la dirección IP configurada en la interfaz.
    • NETMASK: Es la máscara de red de la interfaz, por ejemplo, 255.255.255.255.
    • GATEWAY: Es la dirección IP de la puerta de enlace predeterminada de la interfaz.
    • PREFIX_LENGTH: Es la longitud del prefijo para la dirección IP configurada.

Configura el enrutamiento basado en políticas en la versión 18.04 de Ubuntu o superior

Con el cambio de ifupdown a Netplan como la utilidad de configuración de red predeterminada para Ubuntu 18.04 LTS o posterior, el paquete ifconfig no está preinstalado. Además, los cambios que realices en los archivos de configuración de red de Netplan no se conservarán durante los reinicios de la VM de Compute Engine.

  1. Crea una secuencia de comandos de inicio que establezca una tabla de enrutamiento para cada interfaz de red en el inicio de la VM. Obtén más información sobre cómo crear secuencias de comandos de inicio.

    El uso de una secuencia de comandos de inicio no funcionará si activas un archivo compartido en tu VM, ya que solo se ejecuta después de activar las particiones. Esto causaría que el archivo compartido siempre se active en la interfaz predeterminada antes de que la secuencia de comandos de inicio cree la tabla de enrutamiento.

  2. Para activar un archivo compartido en una VM a través de una red secundaria, es decir, una interfaz distinta de nic0, debes configurar la política de enrutamiento de la VM de cliente para asegurarte de que el archivo compartido se active a través mediante la interfaz de red correcta. Para hacerlo, modifica los siguientes archivos:

    • En /etc/default/instance_configs.cfg, establezca la marca setup de NetworkInterfaces en false:

      [NetworkInterfaces]
      dhclient_script = /sbin/google-dhclient-script
      dhcp_command =
      ip_forwarding = true
          setup = false
      

    • En /etc/network/interfaces, agrega las siguientes líneas a la interfaz de interés:

      auto eth1
      iface eth1 inet dhcp
          up ip route add filestore-reserved-address-range via default-gateway-of-nic-to-filestore
      

    Reemplaza lo siguiente:

    • filestore-reserved-address-range es el rango de direcciones reservado para que lo use la instancia de Compute Engine.
    • default-gateway-of-nic-to-filestore es la dirección IP de puerta de enlace predeterminada de la NIC conectada a la red de VPC que se comparte con la instancia de Compute Engine.

    Para obtener más información sobre cómo activar un archivo compartido en una instancia de VM, consulta Activa archivos compartidos en Compute Engine.

Soluciona problemas

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 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.

  • Networks 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 red. Cada interfaz de red se debe adjuntar a una red de VPC diferente.

  • 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 en los rangos de IP de alias. Cada interfaz se adjunta a una subred, cada una en una red de VPC diferente, que no debe superponerse con las subredes de otras interfaces. Por ejemplo, si intentas crear la instancia en la región us-west1, puedes verificar los rangos de CIDR principales de la subred mediante el siguiente comando o Google Cloud Console.

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

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

    gcloud compute networks subnets describe overlapping-subnet --region us-west1
    
    ...
    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. Puedes verificar si una red es heredada mediante el siguiente comando o Google Cloud Console. El campo Modo indica el tipo de red.

    gcloud compute networks list
    NAME             MODE    IPV4_RANGE     GATEWAY_IPV4
    default          auto
    legacy-network   legacy  10.240.0.0/16  10.240.0.1
    test-network     custom
    

  • Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'

    Si obtienes este mensaje, significa que la cuenta con la que accediste no tiene los permisos de IAM necesarios para crear una instancia. Consulta Permisos de IAM si quieres obtener más información sobre las funciones que se necesitan para crear instancias. Puedes verificar si la política de IAM asociada a 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 IP interna de la 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 Google Cloud Console 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 el comportamiento de DHCP con varias interfaces de red para obtener más detalles sobre cómo los programas de DHCP establecen rutas predeterminadas en la VM.

No puedo conectarme a una interfaz secundaria con una 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. Si no, puedes consultar Cómo configurar la política de enrutamiento para configurar una tabla de enrutamiento separada en tu VM, a través de la política de enrutamiento basada en el origen.

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

De forma predeterminada, el servidor de metadatos de la instancia solo responde a solicitudes ARP de la puerta de enlace predeterminada.

Para configurar interfaces con una máscara de red distinta de /32, debes crear una imagen con la marca --guest-os-features MULTI_IP_SUBNET y usarla para crear tu instancia. Por ejemplo, si usas una imagen basada en debian-9, puedes crear una imagen con el siguiente comando:

gcloud compute images create debian-9-multi-ip-subnet \
     --source-disk debian-9-disk \
     --source-disk-zone us-west1-a \
     --guest-os-features MULTI_IP_SUBNET

Para ver las funciones de invitado configuradas en la imagen, ejecuta el comando gcloud compute images describe en la imagen del invitado.

gcloud compute images describe debian-9-multi-ip-subnet

Para obtener más información sobre cómo crear imágenes personalizadas, consulta Crea, borra y da de baja imágenes personalizadas.

Cómo solucionar los problemas a través de la consola en serie

Por lo general, una buena idea es habilitar la consola en serie en la VM para solucionar problemas relacionados con la configuración. Sigue los pasos en Interactúa con la consola en serie para habilitarla y realizar una depuración interactiva.