Configurar rangos de alias de IP

Este documento contiene instrucciones para configurar direcciones IP de alias y rangos de IP de alias mediante Google Cloud Platform Console y la herramienta de línea de comandos de gcloud. Consulta la página Descripción general de IP de alias antes de ejecutar estos comandos.

Limitaciones

Subred

  • Se permiten hasta cinco rangos de IP secundarios por subred.
  • No puedes agregar y quitar rangos secundarios al mismo tiempo. Agregar y quitar deben ser pasos separados.
  • La expansión CIDR no es compatible con los rangos secundarios.

Instancia de VM

  • Los rangos de IP de alias son compatibles con todas las interfaces de red de VM. El enrutamiento se configura automáticamente para los rangos de IP de alias en la interfaz de la red principal, pero no en las interfaces secundarias. Si tienes múltiples interfaces de red, debes configurar el enrutamiento de la política para las interfaces adicionales.
  • A la interfaz virtual de una instancia de VM se le pueden asignar hasta 10 rangos de IP de alias.
  • Los rangos de IP de alias se pueden agregar o quitar, pero no actualizar.
  • Si quitas un rango de IP de alias de una VM y se lo asignas a otra VM, la transferencia podría tardar hasta un minuto en completarse.
  • Las etiquetas de origen de firewall no son compatibles con las direcciones IP de alias. Cuando configuras etiquetas de origen en reglas de firewall, las etiquetas de origen coinciden con la dirección IP principal de VM, pero no con las direcciones IP de alias. Utiliza rangos de origen para permitir o denegar el tráfico de entrada de direcciones IP de alias.
  • El DNS interno resuelve un nombre de VM a su IP principal. Los nombres adicionales para la IP de alias no se configuran automáticamente, pero se los puede agregar de forma manual.

Red de VPC

  • Una red de VPC puede tener hasta 7,000 rangos de IP de alias en todas las VM.
  • Agregar o quitar una gran cantidad de rangos de IP de alias a la vez puede llevar mucho tiempo. Por ejemplo, puede llevar hasta 10 minutos agregar o quitar 7,000 rangos de IP de alias.
  • Las redes de VPC de modo automático no pueden quitarse si hay rangos de la subred secundaria presentes.
  • En una ruta estática, la dirección IP del salto siguiente debe ser la dirección IP principal de la VM. Las direcciones IP de alias no son compatibles con direcciones IP de salto siguiente.
  • Las direcciones IPv6 no son compatibles.
  • Los rangos de IP de alias solo son compatibles en redes de VPC y no en redes heredadas. Para determinar el tipo de tu red, enumera tus redes. Las redes de VPC tienen un modo custom o auto. Las redes heredadas tienen un modo legacy.

Comandos de la subred

Los rangos de IP de alias de VM deben asignarse desde un rango que pertenezca a la subred en la cual se encuentra la VM. Todas las subredes tienen un rango principal, que es el rango estándar de direcciones IP internas que definen la subred. Una subred también puede tener uno o más rangos de IP secundarios de direcciones IP internas. Puedes asignar rangos de IP de alias ya sea desde los rangos primarios o secundarios de la subred.

Debes dar a cada rango secundario un nombre que sea único para esa subred. Cuando asignes un rango de IP de alias a una VM, el nombre del rango secundario le dice a GCP de qué rango de la subred debe asignar las IP de alias.

Todos los rangos, tanto principales como secundarios, deben ser únicos en todas las subredes de la red de VPC y en cualquier red vinculada mediante el intercambio de tráfico de la red de VPC, VPN o Interconnect.

En esta sección, se muestra cómo crear una subred con un rango secundario, cómo agregar un rango secundario a una subred existente o quitar un rango secundario de una subred. Una vez que tu subred tenga el rango que deseas utilizar, consulta los comandos de instancias de VM para obtener instrucciones sobre cómo asignar un rango a una VM.

Cómo crear una subred con uno o más rangos CIDR secundarios

Este comando supone que ya cuentas con una red de VPC. De no ser así, crea una.

Este comando es el mismo ya sea que estés creando una subred para una interfaz principal de VM o una de las interfaces secundarias.

Utilizar un rango secundario para la asignación de IP de alias te permite separar el espacio de IP para servicios alojados en la VM, por lo que es más fácil crear reglas de firewall que permitan el acceso solo a los servicios que se ejecutan en la VM y que bloqueen el acceso a la dirección IP primaria de VM.

Console

  1. Ve a la página Redes de VPC en Google Cloud Platform Console.
    Ir a la página Redes de VPC
  2. Haz clic en el nombre de una red existente.
  3. Haz clic en Agregar subred.
  4. Ingresa un Nombre para la nueva subred.
  5. Especifica la Región.
  6. Ingresa un Rango de direcciones IP en la notación CIDR (Ejemplo: 10.65.61.0/24).
  7. Haz clic en Crear rango de IP secundario.
  8. Ingresa un Nombre de rango de la subred.
  9. Ingresa un Rango de IP secundario en la notación CIDR (Ejemplo: 10.9.0.0/24).
  10. A fin de agregar rangos de IP secundarios adicionales, para cada rango, haz clic en Agregar rango de IP, y luego proporciona un nombre y un rango.
  11. Haz clic en Agregar.

gcloud

gcloud compute networks subnets create s1 \
    --network [NETWORK_NAME] \
    --region [REGION] \
    --range 10.65.61.0/24 \
    --secondary-range [RANGE_NAME]=[RANGE_CIDR][,[RANGE_NAME]=[RANGE_CIDR]...]

aquí:

  • [NETWORK_NAME] es el nombre de la red en la cual deseas crear la subred.
  • [REGION] es la región en la cual estás creando la subred.
  • [RANGE_NAME]=[RANGE_CIDR] es el nombre del rango secundario desde el cual saldrá el rango de IP de alias y el rango de IP de alias en sí. Por ejemplo: range1=10.9.0.0/24.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Cómo agregar rangos CIDR secundarios a una subred existente

Para este procedimiento, se supone que tienes una subred que deseas utilizar, pero que necesitas agregar uno o más rangos secundarios.

Este comando es el mismo ya sea que estés creando una subred para una interfaz principal de VM o una de las interfaces secundarias.

Utilizar un rango secundario para la asignación de IP de alias facilita la creación de reglas de firewall que permiten el acceso a los servicios que se están ejecutando en una VM, pero no a las direcciones IP principales de la VM.

Console

Utiliza el comando de gcloud.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]

aquí:

  • [SUBNET_NAME] es el nombre de la subred a la que deseas agregar el rango secundario.
  • [REGION] es la región en la cual estás creando la subred.
  • [RANGE_NAME]=[RANGE_CIDR] es el nombre del rango secundario desde el cual saldrá el rango de IP de alias y el rango de IP de alias en sí. Por ejemplo: range1=10.9.0.0/24.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Cómo quitar un rango CIDR secundario de una subred

Console

Utiliza el comando de gcloud.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

aquí:

  • [SUBNET_NAME] es el nombre de la subred de la cual deseas quitar los rangos secundarios.
  • [REGION] es la región en la cual estás creando la subred.
  • [RANGE_NAME] es el nombre del rango secundario desde el cual saldrá el rango de IP de alias y el rango de IP de alias en sí. Por ejemplo: range1=10.9.0.0/24.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Comandos de instancia de VM para VM con una sola interfaz

Estos comandos muestran cómo crear una instancia con un rango de IP de alias, cómo agregar uno o más rangos de IP de alias a una instancia de VM existente, o quitar uno o más rangos de una instancia de VM existente.

Cómo crear una VM con un rango de IP de alias en el rango CIDR principal

Utiliza este procedimiento si deseas asignar un rango de IP de alias desde el rango principal de la subred. El rango que elijas no debe estar en uso, aunque sea en parte, por ningún otro recurso de la red de VPC.

Utiliza este procedimiento si deseas que la interfaz principal de la instancia y las direcciones IP de alias estén en el mismo rango.

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en Crear instancia.
  3. Ingresa un Nombre para la nueva instancia.
  4. Especifica una Zona.
  5. Haz clic en Administración, seguridad, discos, Herramientas de redes, un solo inquilino.
  6. Haz clic en la pestaña Herramientas de redes.
  7. Haz clic en el botón de editar (ícono de lápiz) que se encuentra junto a la interfaz primaria en la sección Interfaces de la red.
  8. Haz clic en Mostrar rangos de IP de alias.
  9. Deja el Rango de la subred como Principal.
  10. Ingresa un Rango de IP de alias en la notación CIDR. Este rango debe ser un subrango no utilizado del rango principal.
  11. Haz clic en Crear.

gcloud

gcloud compute instances create vm1 \
    --zone [ZONE] \
    --network-interface "subnet=[SUBNET_NAME],aliases=[RANGE_CIDR][;[RANGE_CIDR];...]"

aquí:

  • [ZONE] es la zona que contendrá la instancia.
  • [SUBNET_NAME] es el nombre de la subred de la cual deseas quitar los rangos secundarios.
  • [RANGE_CIDR] es el rango de IP de la subred principal que se asignará a la interfaz. Puede ser un rango específico (192.168.100.0/24), una sola dirección IP (192.168.100.1) o una sola máscara de red en formato CIDR (/24). Si el rango de IP se especifica solamente con la máscara de red, el asignador de IP elige un rango disponible con la máscara de red específica y lo asigna a la interfaz de la red. Para especificar más de un rango, separa los rangos con punto y coma (;).

Consulta la documentación de gcloud para conocer la sintaxis completa.

Cómo crear una VM con un rango de IP de alias en un rango CIDR secundario

Utiliza este procedimiento si deseas asignar un rango de IP de alias desde el rango secundario de la subred. Mantener los rangos de IP de alias separados del rango principal de la subred facilita la creación de reglas de firewall que permiten el acceso a los servicios que se están ejecutando en una VM, pero no a las direcciones IP principales de la VM.

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en Crear instancia.
  3. Ingresa un Nombre para la nueva instancia.
  4. Especifica una Zona.
  5. Haz clic en Administración, seguridad, discos, Herramientas de redes, un solo inquilino.
  6. Haz clic en la pestaña Herramientas de redes.
  7. Haz clic en el botón de editar (ícono de lápiz) que se encuentra junto a la interfaz primaria en la sección Interfaces de la red.
  8. Haz clic en Mostrar rangos de IP de alias.
  9. Selecciona la Subred que tiene el rango secundario.
  10. En Rango de subred, selecciona el Rango de IP secundario que deseas utilizar.
  11. Ingresa un Rango de IP de alias en la notación CIDR. Este rango debe ser un rango no utilizado del rango de IP secundario.
  12. Haz clic en Crear.

gcloud

gcloud compute instances create vm3 \
    --zone [ZONE] \
    --network-interface subnet=[SUBNET_NAME],aliases=[RANGE_NAME]:[RANGE_CIDR]
 

aquí:

  • [ZONE] es la zona que contendrá la instancia.
  • [SUBNET_NAME] es el nombre de la subred que contendrá la instancia.
  • [RANGE_NAME] es el nombre del rango secundario de la subred desde el cual saldrá el rango de IP de alias.
  • [RANGE_CIDR] es el rango de IP que se asignará a la interfaz. Puede ser un rango específico (192.168.100.0/24), una sola dirección IP (192.168.100.1) o una sola máscara de red en formato CIDR (/24). Si el rango de IP se especifica solamente con la máscara de red, el asignador de IP elige un rango disponible con la máscara de red específica y lo asigna a la interfaz de la red.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Cómo agregar rangos de IP de alias a instancias existentes

Puedes agregar un rango de IP de alias a una instancia en ejecución.

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en el nombre de una instancia existente.
  3. Haz clic en Editar.
  4. Haz clic en la interfaz de la red nic0 (o la interfaz de la red que modificarás).
  5. Haz clic en Mostrar rangos de IP de alias.
  6. Haz clic en Agregar rango de IP de alias.
  7. Especifica el rango CIDR de la subred.
  8. Ingresa un rango de IP de alias.
  9. Haz clic en Listo.
  10. Haz clic en Guardar.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    [--network-interface [NETWORK_INTERFACE]; default="nic0"]
    --aliases "[RANGE_NAME]:[RANGE_CIDR];[[RANGE_NAME]:[RANGE_CIDR],...]"
  • [ZONE] es la zona que contiene la instancia.
  • [RANGE_NAME] es el nombre del rango secundario de la subred desde el cual saldrá el rango de IP de alias. Si vas a asignar rangos desde el rango principal de la subred, omite este valor.
  • [RANGE_CIDR] es el rango de IP que se asignará a la interfaz. Puede ser un rango específico (192.168.100.0/24), una sola dirección IP (192.168.100.1) o una sola máscara de red en formato CIDR (/24). Si el rango de IP se especifica solamente con la máscara de red, el asignador de IP elige un rango disponible con la máscara de red específica y lo asigna a la interfaz de la red.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Cómo modificar rangos de IP de alias para una instancia existente

Puedes agregar más rangos de IP de alias a una instancia existente o quitar uno o más rangos.

  • Para agregar rangos, ejecuta el comando y especifica todos los rangos de IP de alias nuevos y existentes. Los pares se separan mediante punto y coma. Ejemplo: --aliases "[CURRENT_RANGE_NAME]:[CURRRENT_RANGE_CIDR];[NEW_RANGE_NAME]:[NEW_RANGE_CIDR]"

  • Para quitar rangos, ejecuta el comando y especifica solamente los rangos de IP de alias que deseas conservar. Si vas a mantener rangos de un rango secundario, debes especificar el nombre del rango secundario. Un rango CIDR puede ser un rango específico (192.168.100.0/24) o una única dirección IP (192.168.100.1). Ejemplo: --aliases "[RANGE_NAME]:[RANGE_CIDR];[RANGE_CIDR]"

  • A fin de quitar todos los rangos, ejecuta el comando y especifica la marca --alias, pero utiliza comillas para proporcionar una entrada en blanco. Ejemplo: --aliases ""

  • No puedes agregar o quitar rangos en el mismo comando de gcloud. A fin de quitar y agregar rangos con la interfaz de línea de comandos de gcloud, primero ejecuta el comando para quitar los rangos innecesarios y, a continuación, ejecútalo de nuevo para agregar los rangos necesarios.

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en el nombre de una instancia existente.
  3. Haz clic en Editar.
  4. Haz clic en la interfaz de la red nic0 (o la interfaz de la red que modificarás).
  5. Haz clic en Mostrar rangos de IP de alias.
  6. Para agregar un rango de IP de alias, haz clic en Agregar rango de IP de alias.
  7. Para quitar un rango de IP de alias, haz clic en la X junto al rango de IP de alias.
  8. Haz clic en Listo.
  9. Haz clic en Guardar.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    --aliases "[RANGES_TO_RETAIN];[[NEW_RANGE_NAME]:[NEW_RANGE_CIDR];...]"
  • [ZONE] es la zona que contiene la instancia.
  • [RANGES_TO_RETAIN] son los rangos existentes, en formato [CURRENT_RANGE_NAME]:[CURRRENT_RANGE_CIDR], que deseas conservar. Si estás agregando rangos a una instancia que no tiene ninguno, estos valores estarán en blanco. Si quitarás todos los rangos de la instancia, todo el campo --alias quedará en blanco.
  • [NEW_RANGE_NAME] es el nombre del rango secundario de la subred desde el cual saldrán los nuevos rangos de IP de alias. Si vas a asignar rangos desde el rango principal de la subred, omite este valor.
  • [NEW_RANGE_CIDR] es el rango de IP que se asignará a la interfaz. Puede ser un rango específico (192.168.100.0/24), una sola dirección IP (192.168.100.1) o una sola máscara de red en formato CIDR (/24). Si el rango de IP se especifica solamente con la máscara de red, el asignador de IP elige un rango disponible con la máscara de red específica y lo asigna a la interfaz de la red.

Consulta la documentación de gcloud para conocer la sintaxis completa.

Comandos de instancia de VM para VM con interfaces múltiples

Crea una VM con interfaces múltiples y direcciones IP de alias

En este ejemplo, se crean dos redes, cada una con una subred y una VM con interfaces en ambas redes. Si ya tienes dos redes de VPC, puedes saltar al paso "crear instancia de VM".

Console

Crea la primera red y subred:

  1. Ve a la página Redes de VPC en Google Cloud Platform Console.
    Ir a la página Redes de VPC
  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre de my-network1.
  4. Con el Modo de creación de subred configurado como Custom, especifica un Nombre de la subred de my-subnet1.
  5. Especifica una Región.
  6. Establece el Rango de direcciones IP como 172.16.1.0/24.
  7. Haz clic en Crear rango de IP secundario.
  8. Establece el Nombre del rango de la subred como range1.
  9. Establece el Rango de IP secundario como 10.1.0.0/16.
  10. Haz clic en Listo.
  11. Haz clic en Crear.

Crea la segunda red y subred:

  1. Ve a la página Redes de VPC en Google Cloud Platform Console.
    Ir a la página Redes de VPC
  2. Haz clic en Crear red de VPC.
  3. Ingresa un Nombre de my-network2.
  4. Con el Modo de creación de subred configurado como Custom, especifica un Nombre de la subred de my-subnet2.
  5. Especifica la misma Región que para la primera red y subred.
  6. Establece el Rango de direcciones IP como 172.16.2.0/24.
  7. Haz clic en Crear rango de IP secundario.
  8. Establece el Nombre del rango de la subred como range2
  9. Establece el Rango de IP secundario como 10.2.0.0/16.
  10. Haz clic en Listo.
  11. Haz clic en Crear.

Crea una VM con interfaces en ambas redes:

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en Crear instancia.
  3. Establece la zona de la región en la que creaste las subredes.
  4. Haz clic en Administración, seguridad, discos, Herramientas de redes, un solo inquilino.
  5. Haz clic en Herramientas de redes.
  6. Haz clic en la primera interfaz de la red.
  7. Establece la Red como my-network1.
  8. Establece la Subred como my-subnet1.
  9. Haz clic en Mostrar rangos de IP de alias.
  10. Haz clic en Agregar rango de IP de alias.
  11. Establece el Rango de la subred como Primary.
  12. Establece el Rango de IP del alias como /32.
  13. Haz clic en Agregar rango de IP.
  14. Establece el Rango de la subred como range1.
  15. Establece el Rango de IP del alias como /24.
  16. Haz clic en Listo.
  17. Haz clic en Agregar interfaz de la red.
  18. Selecciona my-network2.
  19. Establece la Subred como my-subnet2.
  20. Haz clic en Mostrar rangos de IP de alias.
  21. Haz clic en Agregar rango de IP de alias.
  22. Establece el Rango de la subred como Primary.
  23. Establece el Rango de IP del alias como /32.
  24. Haz clic en Agregar rango de IP.
  25. Establece el Rango de la subred como range2.
  26. Ingresa un Rango de IP de alias de /24.
  27. Haz clic en Listo.
  28. Haz clic en Crear.

gcloud

  1. Crea la primera red:

    gcloud compute networks create my-network1 --subnet-mode CUSTOM
    
  2. Agrega una subred:

    gcloud compute networks subnets create my-subnet1 \
        --network my-network1 \
        --range 172.16.1.0/24 \
        --secondary-range range1=10.1.0.0/16
    
  3. Crea una segunda red:

    gcloud compute networks create my-network2 --subnet-mode CUSTOM
    
  4. Agrega una subred:

    gcloud compute networks subnets create my-subnet2 \
        --network my-network2 \
        --range 172.16.2.0/24 \
        --secondary-range range2=10.2.0.0/16
    
  5. Crea una VM con interfaces en ambas redes. La primera interfaz de la red detallada, la que figura en my-subnet1, es la interfaz principal:

    gcloud compute instances create multi-nic-alias-vm \
        --machine-type f1-micro \
        --network-interface "subnet=my-subnet1,aliases=/32;range1:/24" \
        --network-interface "subnet=my-subnet2,aliases=/32;range2:/24"
    
  6. Utiliza el comando de visualización para ver las interfaces y sus direcciones:

    gcloud compute instances describe multi-nic-alias-vm
    
    ...
    networkInterfaces:
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.1.2/32
      - ipCidrRange: 10.1.0.0/24
        subnetworkRangeName: range1
      name: nic0
      network: .../networks/my-network1
      networkIP: 172.16.1.3
      subnetwork: .../subnetworks/my-subnet1
      ...
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.2.2/32
      - ipCidrRange: 10.2.0.0/24
        subnetworkRangeName: range2
      name: nic1
      network: .../networks/my-network2
      networkIP: 172.16.2.3
      subnetwork: .../subnetworks/my-subnet2
      

Agrega direcciones IP de alias a una VM con interfaces múltiples

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en el nombre de una instancia existente.
  3. Haz clic en Editar.
  4. Haz clic en la interfaz de la red nic0 (o la interfaz de la red a la cual agregarás un rango de IP de alias).
  5. Haz clic en Mostrar rangos de IP de alias.
  6. Haz clic en Agregar rango de IP de alias.
  7. Especifica el Rango de la subred.
  8. Ingresa un rango de IP de alias.
  9. Haz clic en Listo.
  10. Haz clic en Guardar.

gcloud

A la interfaz principal:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range1:10.1.0.0/24;172.16.1.2/32;/32"

A la interfaz secundaria:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range2:10.2.0.0/24;172.16.2.2/32;/32" \
    --network-interface nic1

Quita rangos de IP de alias de una VM con interfaces múltiples

Console

  1. Ve a la página de VM Instances en Google Cloud Platform Console.
    Ir a la página de VM Instances
  2. Haz clic en el nombre de una instancia existente.
  3. Haz clic en Editar.
  4. Haz clic en la interfaz de la red nic0 (o la interfaz de la red a la cual agregarás un rango de IP de alias).
  5. Haz clic en Mostrar rangos de IP de alias.
  6. Haz clic en X junto al rango de IP de alias que quitarás.
  7. Haz clic en Listo.
  8. Haz clic en Guardar.

gcloud

Desde la interfaz principal:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases ""

Desde una interfaz secundaria:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "" \
    --network-interface nic1

Solución de problemas

No se puede crear una instancia de VM con una IP de alias

  1. Verifica que la red sea de VPC. Las IP de alias no son compatibles con redes heredadas.

    gcloud compute networks list --filter="name=[NETWORK_NAME]"
    

    La red MODE debe ser "automática" o "personalizada".

  2. Si se especifica un nombre de rango de la subred, verifica lo siguiente:

    gcloud compute networks subnets describe [SUBNET_NAME] --region=[REGION]
    
    • que la subred tenga un rango secundario con el nombre correspondiente;
    • que el rango de IP de alias solicitado esté dentro del rango secundario o, en caso de que se use máscara de red, que sea menor que el rango principal.
  3. Si el nombre del rango de subredes no está especificado, verifica que el rango de IP de alias solicitado esté dentro del rango de subredes principal o, en caso de que se use máscara de red, que sea menor que el rango principal.

No se puede conectar con la IP de alias

  1. Verifica las reglas de firewall.

    1. Detalla todas las reglas de firewall:

      gcloud compute firewall-rules list --format=json
      
    2. Verifica que el tráfico hacia y desde la IP de alias esté permitido.

    3. De ser necesario, agrega reglas de firewall para permitir que se haga ping a la IP de alias:

      gcloud compute firewall-rules create [FIREWALL_NAME1] \
        --network [NETWORK_NAME] --priority 0 --source-ranges [ALIAS_IP] \
        --allow icmp
      
      gcloud compute firewall-rules create [FIREWALL_NAME2] \
        --network [NETWORK_NAME] --priority 0 --direction out \
        --destination-ranges [ALIAS_IP] --allow icmp
      
  2. Asegúrate de que la VM reconozca los rangos de IP de alias como locales. En las distribuciones de Linux, como Debian, esto se puede hacer de la siguiente manera:

    1. Conéctate a la instancia y ejecuta este comando:

      ip route show table local
      

      El resultado debería contener lo siguiente:

      local [ALIAS_IP_RANGE] dev eth0  proto 66  scope host
      
    2. Si la ruta local no está presente, configúrala con este comando:

      ip route add to local [ALIAS_IP_RANGE] dev eth0 proto 66
      

Mi rango de IP secundario no aparece en la lista

Los rangos de IP secundarios no se detallan en las subredes regulares. A fin de que se muestre que se creó el rango de IP secundario de la subred, utiliza el comando gcloud compute networks subnets describe:

  1. Crea una subred.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. Detalla tus subredes.

    gcloud compute networks subnets list
    
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  3. Obtén detalles sobre una subred a fin de ver los rangos secundarios.

    gcloud compute networks subnets describe my-subnet --region us-central1
    
    ...
    ipCidrRange: 10.9.0.0/16
    ...
    secondaryIpRanges:
    - ipCidrRange: 172.16.0.0/12
      rangeName: secondaryrange1
    ...
    

No existe el rango secundario de la subred especificada

Si cuando estás creando una VM, recibes un error que dice que el rango secundario no existe, asegúrate de lo siguiente:

  • Que la subred tenga un rango secundario con el nombre especificado.
  • Que estés creando tu VM dentro de la subred que tiene el rango secundario.

Puedes ver este error si ejecutas los siguientes comandos:

  1. Crea una subred con un rango secundario.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. Crea una instancia en la red predeterminada en vez de en la subred recién creada.

    gcloud compute instances create instance-1 --zone us-central1-a
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-1].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-1  us-central1-a  n1-standard-1               10.128.0.2     47.82.96.9  RUNNING
    
  3. Intenta asignar un rango de IP de alias desde la subred creada en el paso 1. El comando arrojará un error, ya que el rango secundario se encuentra en una subred diferente que la instancia.

    gcloud compute instances network-interfaces update instance-1 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges[0].subnetworkRangeName': 'secondaryrange'. The specified subnetwork secondary range does not exist.
    
  4. Crea otra instancia, con su interfaz en la subred creada en el paso 1.

    gcloud compute instances create instance-2 \
        --zone us-central1-a \
        --network-interface subnet=my-subnet
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-2].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-2  us-central1-a  n1-standard-1               10.9.0.2     38.74.204.89  RUNNING
    
  5. Agrega un rango de IP de alias a la interfaz. Esta vez, el comando funciona correctamente, ya que la interfaz y el rango secundario están en la misma subred.

    gcloud compute instances network-interfaces update instance-2 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    Updating network interface [nic0] of instance [instance-2]...done.
    

No se pueden agregar ni quitar rangos de IP secundarios en la misma solicitud

Actualmente, no se puede agregar y quitar rangos de IP secundarios de la subred en el mismo comando. El comando de gcloud para agregar y quitar rangos secundarios preservará los rangos existentes que no se modifiquen.

Para agregar o quitar rangos, ejecuta los dos comandos por separado.

gcloud compute networks subnets update [SUBNET_NAME] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]
gcloud compute networks subnets update  [SUBNET_NAME] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

Si deseas ver más detalles de este comando, utiliza gcloud compute networks subnets update --help.

No se pueden agregar y quitar rangos de IP de alias simultáneamente

Actualmente, no es posible agregar y quitar rangos de IP de alias de VM en la misma solicitud.

El comando de gcloud para actualizar rangos de IP de alias NO preserva los rangos existentes; por ello, omitir un rango se trata como una solicitud para quitar ese rango.

Por ejemplo, si la VM actual tiene un rango de alias 10.9.27.0/24 y el nuevo rango solicitado es /24, la ejecución del comando para solicitar /24 se rechazará ya que se interpreta como que se está quitando 10.9.27.0/24 y agregando /24. El rango existente debe quitarse explícitamente antes de poder agregar un rango nuevo.

Ejemplo:

  1. Crea un rango de IP de alias.

    gcloud compute instances create vm --network-interface "subnet=s1,aliases=10.9.27.0/24"
    
  2. Intenta agregar /24 sin especificar el rango existente. Se produce un error.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges': ''. Cannot simultaneously add and remove alias IP ranges.
    
  3. Actualiza la VM para que no tenga un rango de IP de alias.

    gcloud compute instances network-interfaces update vm --aliases ""
    Updating network interface [nic0] of instance [vm]...done.
    
  4. Agrega el nuevo rango de IP de alias.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    Updating network interface [nic0] of instance [vm]...done.
    

Para ver más detalles de este comando, utiliza gcloud compute instances network-interfaces update --help.

Etiquetas de origen y cuentas de servicio de origen de reglas de firewall

La cuenta de servicio de origen de firewall y las etiquetas de origen solamente se expanden a las IP de redes principales de instancias coincidentes, y no se aplican a instancias coincidentes de IP de alias. Por ende, una regla de firewall basada en etiquetas de origen no afectará el tráfico desde una dirección IP de alias de la instancia. Las direcciones IP de alias pueden agregarse a las reglas de firewall como rangos de origen o destino.

Problemas con VM con interfaces múltiples y rangos de IP de alias

Consulta Solución de problemas para interfaces múltiples.

¿Qué sigue?

¿Te sirvió esta página? Envíanos tu opinión: