Identificar y solucionar problemas de ICMP

En este tutorial se muestra cómo usar de forma iterativa las pruebas de conectividad para identificar y solucionar un problema de conectividad de red.

En este caso, las reglas de cortafuegos de la nube privada virtual (VPC) impiden que la dirección IP externa de una instancia de máquina virtual (VM) use el protocolo ICMP para hacer ping a la dirección IP externa de otra VM.

Como los problemas de comunicación entre VMs suelen ser problemas de conectividad de red, las pruebas de conectividad pueden proporcionarte información sobre posibles problemas de configuración para que puedas solucionarlos. Después, puedes volver a realizar las pruebas de conectividad para verificar que se ha solucionado el problema.

Información general

En este caso, has configurado dos instancias de VM en la misma subred de tu red VPC. Ambas máquinas virtuales tienen direcciones IP externas. Cuando pruebas la conectividad entre ellas enviando un paquete ping de vm1 a la dirección IP externa de vm2, el ping no funciona.

Solucionar problemas de ping denegado entre dos VMs.
Solucionar problemas de un ping denegado entre dos VMs

Antes de empezar

Antes de empezar el tutorial, sigue todos los pasos de la sección Before you begin de Crear y ejecutar pruebas de conectividad.

También puede ser útil consultar cómo funcionan las reglas de cortafuegos de VPC.

Configurar recursos de red

En esta sección, configurará los Google Cloud recursos de la ruta de prueba.

Configurar una red de VPC

Puedes usar una red y una subred que ya tengan las VMs o crear una red y una subred.

Configurar dos instancias de VM

  1. Las instancias de VM de este tutorial se encuentran en la misma red y subred de VPC. Puedes usar las VMs que ya tengas o crear otras.
  2. Asigna una dirección IP externa a vm1 y vm2 cuando las crees. Anota las direcciones, ya que las usarás más adelante.

Crear una regla de cortafuegos default-deny-outgoing-ping

Una vez que hayas creado las VMs, crea una regla de cortafuegos de VPC de salida llamada default-deny-outgoing-ping. Esta regla deniega el protocolo ICMP de vm1 a vm2. Asegúrate de que no haya reglas de cortafuegos en esta red que anulen esta regla. Además, asegúrate de que ninguna regla de política de cortafuegos jerárquica anule esta regla. Para obtener más información, consulta el resumen de las políticas de cortafuegos jerárquicas.

Usa los valores de la siguiente tabla para configurar esta regla de cortafuegos de VPC.

Campo de regla de cortafuegos de VPC Valor
Nombre default-deny-outgoing-ping
Red Usa la red de VPC en la que se encuentran las VMs.
Prioridad 1000
Sentido del tráfico Salida
Acción tras coincidencia Denegar
Objetivos Selecciona Todas las instancias de la red.
Intervalos de IP de destino Usa la dirección IP externa de vm2.
Protocolos y puertos especificados Marca la casilla Otros protocolos y, a continuación, introduce icmp.

Crear una regla de cortafuegos default-deny-ingress-to-vm2

Crea una regla de cortafuegos de entrada llamada default-deny-ingress-to-vm2 para denegar el protocolo ICMP a la dirección IP externa de vm2. Comprueba que no haya reglas de cortafuegos en esta red que anulen esta regla. Además, asegúrate de que ninguna regla de política de cortafuegos jerárquica anule esta regla. Para obtener más información, consulta el resumen de las políticas de cortafuegos jerárquicas.

Usa los valores de la siguiente tabla para crear la regla.

Campo de regla de cortafuegos de VPC Valor
Nombre default-deny-ingress-to-vm2
Red Usa la red de VPC en la que se encuentran las VMs.
Prioridad 65534
Sentido del tráfico Entrada
Acción tras coincidencia Denegar
Objetivos Selecciona Todas las instancias de la red.
Intervalos de IP de origen Usa la dirección IP externa de vm1.
Protocolos y puertos especificados Marca la casilla Otros protocolos y, a continuación, introduce icmp.

Ejecutar el primer rastreo

En la consola de Google Cloud ,ejecuta un rastreo para determinar si un paquete ICMP (ping) puede ir de vm1 a la dirección IP externa de vm2. Después de ejecutar este rastreo, Pruebas de conectividad te indica que el paquete de rastreo se ha descartado debido a la regla de cortafuegos de la VPC default-deny-outgoing-ping.

Usa la siguiente tabla para los valores de entrada del rastreo.

Nombre del campo Valor
Protocolo icmp
Dirección IP de origen

Usa la dirección IP externa de vm1.

Selecciona la casilla Es una dirección IP que se utiliza en Google Cloud.

Proyecto de servicio o de dirección IP de origen Verifica el nombre del proyecto de vm1.
Dirección IP de destino

Usa la dirección IP externa de vm2.

Selecciona la casilla Es una dirección IP que se utiliza en Google Cloud.

Proyecto de servicio o de dirección IP de destino Verifica el nombre del proyecto de vm2.

En la siguiente captura de pantalla de la consola se muestra que el paquete de seguimiento se ha descartado en la regla de firewall default-deny-outgoing-ping. Google Cloud

Captura de pantalla de la interfaz de usuario de la consola del rastreo que contiene el ping saliente denegado.
Captura de pantalla de la interfaz de la consola del rastreo que contiene el ping saliente denegado

Ejecuta una segunda traza después de inhabilitar la regla de cortafuegos default-deny-outgoing-ping

  1. Para permitir que la prueba de ping se realice correctamente, vm2, inhabilita temporalmente la regla de cortafuegos de VPC default-deny-outgoing-ping.
  2. Una vez que la configuración se haya actualizado correctamente, vuelve a ejecutar el rastreo.
  3. La traza vuelve a fallar. El paquete se ha descartado porque esta regla de cortafuegos deniega un paquete ICMP de entrada a la dirección IP externa de vm2.

La siguiente captura de pantalla de la consola muestra que un paquete de rastreo entrante puede atravesar Cloud NAT, pero no puede llegar a vm2 debido a la regla de cortafuegos mencionada anteriormente. Google Cloud

Captura de pantalla de la interfaz de usuario de la consola de la traza que no llega a vm2.
Captura de pantalla de la interfaz de usuario de la consola del seguimiento que no ha llegado a vm2

Crea la regla de cortafuegos allow-ping-from-known-ranges.

Para permitir el acceso a la dirección IP externa de vm2, configura una nueva regla de cortafuegos de VPC llamada allow-ping-from-known-ranges. Como permitir que todos los paquetes ICMP entrantes accedan a tu red de VPC supone un riesgo para la seguridad, especifica solo un pequeño conjunto de intervalos de origen que puedan enviar paquetes ICMP a la dirección IP externa de vm2.

En este tutorial, este intervalo de origen solo incluye la dirección IP externa de vm1, pero comprueba las reglas de firewall o las prioridades de las reglas que ya tengas para asegurarte de que no anulen esta nueva regla. Además, asegúrate de que ninguna regla de política de cortafuegos jerárquica anule esta regla. Para obtener más información, consulta el resumen de las políticas de cortafuegos jerárquicas.

Usa los valores de la siguiente tabla para configurar la regla.

Campo de regla de cortafuegos de VPC Valor
Nombre allow-ping-from-known-ranges
Red Usa el nombre de la red que contiene ambas VMs.
Prioridad 1000
Sentido del tráfico Entrada
Acción tras coincidencia Permitir
Objetivos Selecciona Todas las instancias de la red.
Filtro de origen Intervalos de IPs
Intervalos de IP de origen Usa la dirección IP externa de vm1.
Protocolos y puertos especificados Marca la casilla Otros protocolos y, a continuación, introduce icmp.

Ejecuta una tercera traza

Después de crear la regla de cortafuegos allow-ping-from-known-ranges, vuelve a hacer ping a la dirección IP externa de vm2. El ping funciona y el problema se ha resuelto.

Un ping permitido entre dos máquinas virtuales.
Un ping permitido entre dos VMs

Para verificar este resultado, realiza otro rastreo con la configuración actualizada que contiene la nueva regla de cortafuegos. En esta ocasión, las pruebas de conectividad te indican que el paquete se ha enviado a vm2 y que la regla de cortafuegos coincidente, allow-ping-from-known-ranges, permite que un paquete ICMP entrante llegue a la dirección IP externa de vm2.

Captura de pantalla de la interfaz de usuario de la consola de una traza correcta a vm2.
Captura de pantalla de la interfaz de usuario de la consola de una traza correcta a vm2

Limpieza

Si es necesario, puedes inhabilitar o eliminar cualquiera de los siguientes Google Cloud recursos que hayas creado para este tutorial. Asegúrate de que no se trata de recursos de producción. Si decides inhabilitar recursos, consulta la página de precios de Compute Engine y la página de todos los precios de redes para asegurarte de que no se te cobrarán.

  1. Inhabilita o elimina reglas de cortafuegos.
  2. Inhabilitar o eliminar máquinas virtuales.
  3. Elimina subredes de VPC.
  4. Elimina la red de VPC.

Siguientes pasos