En esta página, se describen los comandos necesarios para trabajar con reglas de firewall de la nube privada virtual (VPC) y se ofrecen algunos ejemplos de cómo usarlas. Las reglas de firewall de VPC permiten o rechazan el tráfico desde o hacia las instancias de máquina virtual (VM) en una red de VPC según el número de puerto, la etiqueta o el protocolo.
Antes de comenzar
A fin de obtener más información sobre las reglas de firewall de VPC, como las reglas implícitas y las generadas por el sistema para las redes predeterminadas, consulta Reglas de firewall de VPC.
Antes de configurar las reglas de firewall, revisa los componentes de las reglas de firewall para familiarizarte con los componentes de firewall que se usan en Google Cloud.
Crea reglas de firewall de VPC
Las reglas de firewall de VPC se definen a nivel de red y solo se aplican a la red en la que se crean; sin embargo, el nombre que elijas para cada una de ellas debe ser exclusivo del proyecto.
Una regla de firewall puede contener rangos IPv4 o IPv6, pero no ambos.
Cuando creas una regla de firewall, puedes elegir habilitar el registro de reglas de firewall. Si lo habilitas, puedes omitir los campos de metadatos para ahorrar costos de almacenamiento. Para obtener más información, consulta Usa el registro de reglas de firewall.
Si quieres especificar varias cuentas de servicio para el campo de cuenta de servicio de origen o de destino, usa Google Cloud CLI, la API o las bibliotecas cliente.
La red predeterminada proporciona reglas de firewall automáticas en el momento de la creación. Las redes de modo automático y personalizado te permiten crear firewalls similares con facilidad durante la creación de la red si usas la consola de Google Cloud. Si usas la CLI de gcloud o la API y deseas crear reglas de firewall similares a las que proporciona la red predeterminada, consulta Configura reglas de firewall para casos de uso comunes.
Consola
En la consola de Google Cloud, ve a la página Políticas de firewall.
Haz clic en Crear regla de firewall.
Ingresa un Nombre para la regla de firewall.
Este nombre debe ser único para el proyecto.
(Opcional) Puedes habilitar los registros de reglas de firewall:
- Haz clic en Registros > Activados.
- Para omitir los metadatos, haz clic en Mostrar detalles de registros y, luego, desmarca la casilla de verificación Incluir metadatos.
Especifica la Red para la regla de firewall.
Especifica la Prioridad de la regla.
Mientras más bajo sea el número, más alta será la prioridad.
Para la Dirección del tráfico, elige entrada o salida.
Para Acción en caso de coincidencia, elige permitir o rechazar.
Especifica los Objetivos de la regla.
- Si quieres que la regla se aplique a todas las instancias de la red, elige All instances in the network.
- Si deseas que la regla se aplique a determinadas instancias por etiquetas de red (de destino), elige Etiquetas de destino especificadas y, luego, en el campo Etiquetas de destino, escribe las etiquetas a las que se debería aplicar la regla.
- Si deseas que la regla se aplique a determinadas instancias por cuenta de servicio asociada, elige Cuenta de servicio especificada, indica si la cuenta de servicio está en el proyecto actual o en otro en Alcance de la cuenta de servicio y, luego, en el campo Cuenta de servicio de destino, elige o escribe el nombre de la cuenta de servicio.
Para una regla de entrada, especifica el Filtro de fuente:
- Para filtrar el tráfico entrante por rangos de IPv4 de origen, selecciona Rangos de IPv4 y, luego, ingresa los bloques de CIDR en el campo Rangos de IPv4 de origen. Usa
0.0.0.0/0
para cualquier origen IPv4. - Para filtrar el tráfico entrante por rangos de IPv6 de origen, selecciona Rangos de IPv6 y, luego, ingresa los bloques de CIDR en el campo Rangos de IPv6 de origen. Usa
::/0
para cualquier origen IPv6. - Para filtrar el tráfico entrante por etiqueta de red, elige Etiquetas de origen y, luego, escribe las etiquetas de red en el campo Etiquetas de origen. Si quieres conocer el límite en la cantidad de etiquetas de origen, consulta Límites por red. Solo es posible filtrar por etiquetas de origen si el objetivo no está especificado por cuenta de servicio. Para obtener más información, consulta la comparación entre el filtrado por cuenta de servicio y por etiqueta de red.
- Para limitar el tráfico entrante por cuenta de servicio, elige Cuenta de servicio, indica si la cuenta de servicio está en el proyecto actual o en otro en Permiso de la cuenta de servicio y, luego, elige o escribe el nombre de la cuenta de servicio en el campo Cuenta de servicio de origen. Solo es posible filtrar por cuentas de servicio de origen si el objetivo no está especificado por etiqueta de red. Para obtener más información, consulta la comparación entre el filtrado por cuenta de servicio y por etiqueta de red.
- Especifica un Segundo filtro de fuente si así lo deseas. Los filtros de origen secundarios no pueden usar los mismos criterios de filtrado que los principales. Los rangos de IP de origen se pueden usar junto con las etiquetas de origen o la cuenta de servicio de origen. El conjunto de orígenes efectivo consta de la unión entre las direcciones IP del rango de origen y las instancias identificadas por las etiquetas de red o las cuentas de servicio. Es decir, si el rango de IP de origen, o las etiquetas de origen (o las cuentas de servicio de origen) coinciden con los criterios del filtro, el origen se incluye en el conjunto de orígenes efectivo.
- Las etiquetas de origen y la cuenta de servicio de origen no se pueden usar juntas.
- Para filtrar el tráfico entrante por rangos de IPv4 de origen, selecciona Rangos de IPv4 y, luego, ingresa los bloques de CIDR en el campo Rangos de IPv4 de origen. Usa
Para una regla de entrada, especifica el Filtro de origen:
- Para filtrar el tráfico entrante por rangos de IPv4 de destino, selecciona Rangos de IPv4 e ingresa los bloques de CIDR en el campo Rangos de IPv4 de destino. Usa
0.0.0.0/0
para cualquier destino de IPv4. - Para filtrar el tráfico entrante por rangos de IPv6 de destino, selecciona Rangos de IPv6 e ingresa los bloques de CIDR en el campo Rangos de IPv6 de destino. Usa
::/0
para cualquier destino de IPv6. Si deseas obtener más información, consulta Destino para las reglas de entrada.
- Para filtrar el tráfico entrante por rangos de IPv4 de destino, selecciona Rangos de IPv4 e ingresa los bloques de CIDR en el campo Rangos de IPv4 de destino. Usa
Para una regla de salida, especifica el Filtro de destino:
- Para filtrar el tráfico saliente por rangos de IPv4 de destino, selecciona Rangos de IPv4 e ingresa los bloques de CIDR en el campo Rangos de IPv4 de destino. Usa
0.0.0.0/0
para cualquier destino de IPv4. - Para filtrar el tráfico saliente por rangos de IPv6 de destino, selecciona Rangos de IPv6 e ingresa los bloques de CIDR en el campo Rangos de IPv6 de destino. Usa
::/0
para cualquier destino de IPv6.
- Para filtrar el tráfico saliente por rangos de IPv4 de destino, selecciona Rangos de IPv4 e ingresa los bloques de CIDR en el campo Rangos de IPv4 de destino. Usa
Para una regla de salida, especifica el Filtro de destino:
- Para filtrar el tráfico saliente por rangos de IPv4 de origen, selecciona Rangos de IPv4 y, luego, ingresa los bloques de CIDR en el campo Rangos de IPv4 de origen. Usa
0.0.0.0/0
para cualquier origen IPv4. - Para filtrar el tráfico saliente por rangos de IPv6 de destino, selecciona Rangos de IPv6 e ingresa los bloques de CIDR en el campo Rangos de IPv6 de origen. Usa
::/0
para cualquier destino de IPv6. Si deseas obtener más información, consulta Fuente para las reglas de salida.
- Para filtrar el tráfico saliente por rangos de IPv4 de origen, selecciona Rangos de IPv4 y, luego, ingresa los bloques de CIDR en el campo Rangos de IPv4 de origen. Usa
Define los Protocolos y puertos a los que se aplica la regla:
- Para que la regla se aplique a todos los protocolos y puertos de destino, selecciona Permitir todo o Rechazar todo, según la acción.
Para definir protocolos y puertos de destino específicos, selecciona Protocolos y puertos especificados:
- Selecciona TCP a fin de incluir los puertos de destino y el protocolo TCP. Ingresa
all
o una lista de puertos de destino delimitada por comas, como20-22, 80, 8080
. - Selecciona UDP para incluir los puertos de destino y el protocolo UDP. Ingresa
all
o una lista de puertos de destino delimitada por comas, como67-69, 123
. Selecciona Otros protocolos para incluir protocolos como
icmp
,sctp
o un número de protocolo. Por ejemplo, usaicmp
o el número de protocolo1
para ICMP de IPv4. Usa el número de protocolo58
para ICMP de IPv6.Para obtener más información, consulta Protocolos y puertos de destino.
- Selecciona TCP a fin de incluir los puertos de destino y el protocolo TCP. Ingresa
Puedes crear la regla de firewall sin aplicarla, si configuras su estado de aplicación como inhabilitado (opcional). Haz clic en Inhabilitar regla y, luego, selecciona Inhabilitado.
Haz clic en Crear.
gcloud
Para crear una regla de firewall de VPC, usa el comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ [--network NETWORK; default="default"] \ [--priority PRIORITY;default=1000] \ [--direction (ingress|egress|in|out); default="ingress"] \ [--action (deny | allow )] \ [--target-tags TAG[,TAG,...]] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--source-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--source-tags TAG,TAG,] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT[,IAM_SERVICE_ACCOUNT,...]] \ [--destination-ranges CIDR_RANGE[,CIDR_RANGE,...]] \ [--rules (PROTOCOL[:PORT[-PORT]],[PROTOCOL[:PORT[-PORT]],...]] | all ) \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging] \ [--logging-metadata LOGGING_METADATA]
Usa los parámetros como se describe a continuación. Puedes obtener más detalles en la documentación de referencia de SDK.
--network
: Es la red para la regla. Si se omite, la regla se crea en la reddefault
. Si no tienes una red predeterminada o quieres crearla en una red específica, debes usar este campo.--priority
: Es un valor numérico que indica la prioridad de la regla. Mientras más bajo sea el número, más alta será la prioridad.--direction
: Es la dirección del tráfico: puede seringress
oegress
.--action
: Es la acción en caso de coincidencia;allow
odeny
. Se debe usar con la marca--rules
.- Especifica un destino de una de las siguientes maneras:
Para la regla de entrada, a fin de definir mejor el destino, usa
--destination-ranges
para especificar rangos de direcciones IPv4 o IPv6 en formato CIDR. Si se omite--destination-ranges
, el destino de entrada es cualquier dirección IPv4,0.0.0.0/0
. Si deseas obtener más información, consulta Destinos para las reglas de entrada y Direcciones IP y de destino para las reglas de entrada.Para una regla de entrada, especifica una origen:
--source-ranges
Usa esta marca para especificar rangos de direcciones IPv4 o IPv6 de origen en formato CIDR.- Si se omiten
--source-ranges
,source-tags
y--source-service-accounts
, la fuente de entrada es cualquier dirección IPv4,0.0.0.0/0
. --source-tags
Usa esta marca para especificar instancias de origen por etiquetas de red. Solo es posible filtrar por etiquetas de origen si el objetivo no está especificado por cuenta de servicio. Para obtener más información, consulta la comparación entre el filtrado por cuenta de servicio y por etiqueta de red.--source-ranges
y--source-tags
se pueden usar a la vez. Si ambas se especifican, el conjunto de orígenes efectivo consta de la unión de las direcciones IP del rango de origen y las instancias identificadas por etiquetas de red, incluso si las instancias etiquetadas no tienen IP en los rangos de origen.--source-service-accounts
: Usa esta marca para especificar instancias por las cuentas de servicio que usan. Solo es posible filtrar por cuentas de servicio de origen si el objetivo no está especificado por etiqueta de red. Para obtener más información, consulta la comparación entre el filtrado por cuenta de servicio y por etiqueta de red.--source-ranges
y--source-service-accounts
se pueden usar a la vez. Si se especifican ambos, el conjunto de orígenes efectivo consta de la unión de las direcciones IP del rango de origen y las instancias identificadas por las cuentas de servicio de origen, incluso si las cuentas de servicio de origen no tienen IP en los rangos de origen.
Para la regla de salida y definir mejor el origen, usa
--source-ranges
y podrás especificar rangos de direcciones IPv4 o IPv6 en formato CIDR. Si se omite--source-ranges
, el origen de salida es cualquier dirección IPv4,0.0.0.0/0
. Si deseas obtener más información, consulta Fuentes para reglas de salida y Direcciones IP y de destino para reglas de salida.Para una regla de salida, especifica un destino:
--destination-ranges
Usa esta marca para especificar rangos de direcciones IPv4 o IPv6 de destino en formato CIDR.- Si se omite
--destination-ranges
, el destino de salida es cualquier dirección IPv4,0.0.0.0/0
.
--rules
Una lista de protocolos y puertos de destino a los que se aplica la regla. Usaall
para que la regla sea aplicable a todos los protocolos y los puertos de destino. Requiere la marca--action
.Según la configuración predeterminada, las reglas de firewall se crean y comienzan a aplicarse automáticamente, pero puedes cambiar este comportamiento.
- Si se omiten
--disabled
y--no-disabled
, la regla de firewall se crea y se aplica. --disabled
Agrega esta marca para crear la regla de firewall, pero no aplicarla. La regla de firewall permanecerá inhabilitada hasta que la actualices para habilitarla.--no-disabled
Agrega esta marca para asegurarte de que la regla de firewall se aplique.
- Si se omiten
--enable-logging | --no-enable-logging
: Puedes habilitar el registro de reglas de firewall para una regla cuando la crees o actualices. El registro de reglas de firewall te permite auditar, verificar y analizar los efectos de estas reglas. Consulta Registro de reglas de firewall para obtener más información.--logging-metadata
: Si habilitas el registro, de forma predeterminada, el registro de reglas de firewall incluye campos de base y metadatos. Puedes omitir los campos de metadatos para ahorrar costos de almacenamiento. Para obtener más información, consulta Usa el registro de reglas de firewall.
Terraform
Para crear una regla de firewall, puedes usar un recurso google_compute_firewall
.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
API
Crea una regla de firewall de VPC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.NETWORK
es el nombre de la red de VPC en la que se crea la regla de firewall.RULE_NAME
: Es el nombre de la regla de firewall.Para una regla de firewall de entrada, especifica el origen y el destino de entrada:
Usa los campos
sourceRanges
,sourceTags
osourceServiceAccounts
para especificar la fuente de entrada.sourceRanges
puede ser un rango IPv4 o IPv6, pero no una combinación de ambos. Para usar el rango0.0.0.0/0
, no especifiques ningún campo.No puedes usar los campos
sourceTags
ysourceServiceAccounts
al mismo tiempo. Sin embargo, puedes usarsourceRanges
consourceTags
osourceServiceAccounts
. Si lo haces, la conexión debe coincidir con cualquiera de los dos para que se aplique la regla de firewall.Para los campos de destino, si usas el campo
sourceTags
, no puedes usar el campotargetServiceAccounts
. Debes usar el campotargetTags
o ningún campo de destino. Del mismo modo, si usas el camposourceServiceAccounts
, no puedes usar el campotargetTags
. Si no especificas un campo de destino, la regla se aplica a todos los destinos de la red.Usa el campo
destinationRanges
para especificar el origen.destinationRanges
puede ser un rango IPv4 o IPv6, pero no una combinación de ambos.
Si no especificas un destino, Google Cloud usará0.0.0.0/0
. Si deseas obtener más información, consulta Destinos para las reglas de entrada y Direcciones IP y de destino para las reglas de entrada.
Para una regla de firewall de salida, especifica la fuente y el destino de salida:
Usa el campo
sourceRanges
para especificar la fuente de salida.sourceRange
puede ser un rango IPv4 o IPv6, pero no una combinación de ambos.
Si no especificas un destino, Google Cloud usa0.0.0.0/0
. Si deseas obtener más información, consulta Fuentes para reglas de salida y Direcciones IP y de destino para reglas de salida.Usa el campo
destinationRanges
para especificar el destino.destinationRanges
puede ser un rango IPv4 o IPv6, pero no una combinación de ambos.
Si no especificas un destino, Google Cloud usa0.0.0.0/0
. Usa el campotargetTags
otargetServiceAccounts
para especificar a qué objetivos se aplica la regla. Si no especificas un campo de destino, la regla se aplica a todos los destinos de la red.
Para obtener más información y descripciones de cada campo, consulta el método firewalls.insert
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Actualiza las reglas de firewall de VPC
Puedes modificar algunos componentes de una regla de firewall de VPC, como los protocolos y los puertos de destino especificados para la condición de coincidencia. No puedes modificar el nombre, la red, la acción en caso de coincidencia ni la dirección del tráfico de una regla de firewall.
Si necesitas cambiar el nombre, la red, o el componente de acción o dirección, debes borrar la regla y crear una nueva en su lugar.
Si deseas agregar o quitar varias cuentas de servicio, usa la CLI de gcloud, la API o las bibliotecas cliente. No puedes usar la consola de Google Cloud para especificar varias cuentas de servicio de destino o de origen.
Consola
En la consola de Google Cloud, ve a la página Políticas de firewall.
Haz clic en la regla de firewall que quieres modificar.
Haz clic en Editar.
Modifica todos los componentes editables que necesites.
Haz clic en Guardar.
gcloud
Para actualizar las reglas de firewall de VPC, usa el comando gcloud compute firewall-rules update
:
gcloud compute firewall-rules update RULE_NAME \ [--priority=PRIORITY] \ [--description=DESCRIPTION] \ [--target-tags=TAG,...] \ [--target-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--source-ranges=CIDR_RANGE,...] \ [--source-tags=TAG,...] \ [--source-service-accounts=IAM_SERVICE_ACCOUNT,_] \ [--destination-ranges=CIDR_RANGE,...] \ [--rules=[PROTOCOL[:PORT[-PORT]],…]] \ [--disabled | --no-disabled] \ [--enable-logging | --no-enable-logging]
Las descripciones de cada marca son las mismas que para crear reglas de firewall y puedes obtener más detalles acerca de cada una en la documentación de referencia del SDK.
API
Usa PATCH para actualizar los siguientes campos: allowed
, description
, sourceRanges
, sourceTags
o targetTags
. Usa PUT o POST para todos los demás campos.
(PATCH|(POST|PUT)) https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME { "name": "RULE_NAME", "network": "projects/PROJECT-ID/global/networks/NETWORK", ... other fields }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.NETWORK
es el nombre de la red de VPC en la que se encuentra la regla de firewall.RULE_NAME
es el nombre de la regla de firewall que deseas actualizar.
Para obtener más información y descripciones de cada campo, consulta los métodos firewalls.patch
o firewalls.update
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Enumera las reglas de firewall de VPC para una red de VPC
Puedes enumerar todas las reglas de firewall de VPC para tu proyecto o para una red de VPC en particular. Para cada regla de firewall, Google Cloud muestra detalles como el tipo, los objetivos y los filtros de la regla.
Si habilitas el registro de reglas de firewall, Firewall Insights puede proporcionarte estadísticas sobre tus reglas de firewall para ayudarte a comprender mejor y optimizar de forma segura sus parámetros de configuración. Por ejemplo, puedes ver qué reglas allow
no se usaron en las últimas seis semanas.
Para obtener más información, consulta Usa la pantalla de detalles de las reglas de firewall en la documentación de Firewall Insights.
Consola
Para ver una lista de todas las reglas de firewall de VPC de todas las redes en tu proyecto:
En la consola de Google Cloud, ve a la página Firewall.
Para ver una lista de todas las reglas de firewall de VPC de una red en particular:
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en el Nombre de la red de VPC para ver su página de detalles.
En la página de detalles de la red, haz clic en la pestaña Firewalls.
Expande vpc-firewall-rules.
gcloud
Si deseas producir una lista ordenada de las reglas de firewall de VPC para una red determinada, usa el comando gcloud compute firewall-rules list
:
gcloud compute firewall-rules list --filter network=NETWORK \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, targetTags.list():label=TARGET_TAGS )"
Reemplaza NETWORK
por el nombre de la red en la que se enumerarán las reglas de firewall.
API
Enumera todas las reglas de firewall de VPC para una red determinada.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/?filter=network="NETWORK
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.NETWORK
es el nombre de la red de VPC que contiene las reglas de firewall que se enumerarán.
Para obtener más información, consulta el método firewalls.list
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Enumera las reglas de firewall de VPC para una interfaz de red de una instancia de VM
Para cada interfaz de red, la consola de Google Cloud enumera todas las reglas de firewall de VPC que se aplican a la interfaz y las reglas que usa la interfaz. Las reglas de firewall pueden enmascarar otras reglas, por lo que una interfaz podría no estar usando todas las reglas que se le aplican.
Las reglas de firewall se asocian con las instancias de VM y se aplican a ellas mediante el parámetro de objetivo de una regla. Si consultas la lista de todas las reglas que se aplican, puedes verificar si una regla en particular se está aplicando a una interfaz.
Si habilitas el registro de reglas de firewall, Estadísticas de firewall puede proporcionarte estadísticas sobre tus reglas de firewall para ayudarte a comprender mejor y optimizar de forma segura sus parámetros de configuración. Por ejemplo, puedes ver qué reglas de una interfaz se usaron en las últimas seis semanas. Para obtener más información, consulta Usa la pantalla de detalles de la interfaz de red de VM en la documentación de Firewall Insights.
Consola
Para ver las reglas de VPC que se aplican a una interfaz de red específica de una instancia de VM, sigue estos pasos:
En la consola de Google Cloud, ve a la página Instancias de VM.
Busca la instancia que deseas ver.
En el menú más acciones de la instancia (
), selecciona Ver detalles de la red.Si una instancia tiene múltiples interfaces de red, selecciona la interfaz de red que quieres ver en el campo Interfaz de red seleccionada.
En la sección Detalles de firewall y rutas, selecciona la pestaña Firewalls.
Expande vpc-firewall-rules.
Consulta la tabla para determinar si se permite el tráfico desde o hacia una dirección IP específica.
Visualiza los detalles de la regla de firewall de VPC
Puedes inspeccionar una regla de firewall de VPC para ver su nombre, red aplicable y componentes, y si la regla está habilitada o inhabilitada.
Console
- Enumera tus reglas de firewall. Puedes visualizar una lista de todas las reglas o solo aquellas de una red en particular.
- Haz clic en la regla que quieres ver.
gcloud
El siguiente comando describe una regla de firewall de VPC individual. Debido a que los nombres de reglas de firewall son únicos del proyecto, no tienes que especificar una red cuando describes una regla existente.
gcloud compute firewall-rules describe RULE_NAME
Reemplaza RULE_NAME
por el nombre de la regla de firewall.
API
Describe una regla de firewall de VPC determinada.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Reemplaza los marcadores de posición por valores válidos:
PROJECT_ID
es el ID del proyecto en el que se encuentra la regla de firewall.RULE_NAME
es el nombre de la regla de firewall que deseas describir.
Para obtener más información, consulta el método firewalls.get
.
Borra reglas de firewall de VPC
Consola
- Enumera tus reglas de firewall de VPC. Puedes visualizar una lista de todas las reglas o solo aquellas de una red en particular.
- Haz clic en la regla que quieres borrar.
- Haz clic en Borrar.
- Haz clic en Borrar nuevamente para confirmar.
gcloud
Para borrar una regla de firewall de VPC, usa el comando gcloud compute firewall-rules delete
:
gcloud compute firewall-rules delete RULE_NAME
Reemplaza RULE_NAME
con el nombre de la regla que quieres borrar.
API
Borra una regla de firewall de VPC.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la regla de firewall.RULE_NAME
es el nombre de la regla de firewall que deseas borrar.
Para obtener más información, consulta el método firewalls.delete
.
C#
Go
Java
Node.js
PHP
Python
Ruby
Supervisa las reglas de firewall de VPC
Puedes habilitar los registros de reglas de firewall de VPC para ver qué regla permitió o bloqueó qué tráfico. Consulta Usa el registro de reglas de firewall para obtener instrucciones.
Configura reglas de firewall de VPC para casos de uso comunes
En las siguientes secciones, se proporcionan ejemplos de cómo usar la CLI de gcloud y la API para recrear las reglas de firewall de VPC predefinidas creadas para las redes predeterminadas. Puedes usar los ejemplos a fin de crear reglas similares para tus redes de modo personalizado y automático. Cada regla de firewall puede incluir rangos de direcciones IPv4 o IPv6, pero no ambos.
Permite conexiones de entrada internas entre VMs
En los siguientes ejemplos, se crea una regla de firewall para permitir conexiones internas, TCP, ICMP y UDP a tus instancias de VM, de manera similar a la regla allow-internal
para redes predeterminadas.
gcloud
Usa el comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:0-65535,udp:0-65535,ICMP_PROTOCOL \ --source-ranges=SUBNET_RANGES
Reemplaza lo siguiente:
RULE_NAME
: El nombre de esta regla de firewall.NETWORK
: El nombre de la red a la que se aplica esta regla de firewall. El valor predeterminado esdefault
.ICMP_PROTOCOL
es el tipo de protocolo ICMP. Especifica ICMPv4 mediante el nombre del protocoloicmp
o el número del protocolo1
. Especifica ICMPv6 mediante el número de protocolo58
.SUBNET_RANGES
: Uno o más rangos de direcciones IP. Incluir un rango de direcciones IP significa que el tráfico de ese rango puede llegar a cualquier destino de VM en la red de VPC. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada.Rangos de subredes IPv4
- Las redes de VPC de modo automático usan rangos de direcciones IP que están dentro de
10.128.0.0/9
. - Las redes en modo personalizado pueden usar cualquier rango IPv4 válido. Si no usas rangos contiguos a las subredes de tu red de VPC, es posible que debas especificar varios rangos.
- Puedes usar
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
para permitir el tráfico de todos los rangos de direcciones IPv4 privadas (rangos RFC 1918).
Rangos de subredes IPv6:
Si asignaste un rango de direcciones IPv6 interna a tu red de VPC, puedes usar ese rango como un rango de origen. El uso del rango IPv6 interno de la red de VPC significa que la regla de firewall incluye todos los rangos de subred IPv6 internos actuales y futuros. Para encontrar el rango IPv6 interno de la red de VPC, puedes usar el siguiente comando:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
También puedes especificar rangos de subredes IPv6 internos específicos.
Para permitir el tráfico de los rangos de subredes IPv6 externas de las subredes de doble pila, debes especificar el rango de direcciones IPv6 de cada subred que desees incluir.
- Las redes de VPC de modo automático usan rangos de direcciones IP que están dentro de
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "0-65535" ] }, { "IPProtocol": "udp", "ports": [ "0-65535" ] }, { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "SUBNET_RANGES" ] }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.RULE_NAME
: Es el nombre de la regla de firewall.NETWORK
es el nombre de la red de VPC en la que se crea la regla de firewall. El valor predeterminado esdefault
.ICMP_PROTOCOL
es el tipo de protocolo ICMP. Especifica ICMPv4 mediante el nombre del protocoloicmp
o el número del protocolo1
. Especifica ICMPv6 mediante el número de protocolo58
.INTERNAL_SOURCE_RANGES
: Uno o más rangos de IP. Para permitir el tráfico interno dentro de todas las subredes en tus redes de VPC, especifica los rangos de direcciones IP que se usan en tu red de VPC. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada.Rangos de subredes IPv4
- Las redes de VPC de modo automático usan rangos de direcciones IP que están dentro de
10.128.0.0/9
. - Las redes en modo personalizado pueden usar cualquier rango IPv4 válido. Si no usas rangos contiguos a las subredes de tu red de VPC, es posible que debas especificar varios rangos.
- Puedes usar
10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
para permitir el tráfico de todos los rangos de direcciones IPv4 privadas (rangos RFC 1918).
Rangos de subredes IPv6:
Si asignaste un rango de direcciones IPv6 interna a tu red de VPC, puedes usar ese rango como un rango de origen. El uso del rango IPv6 interno de la red de VPC significa que la regla de firewall incluye todos los rangos de subred IPv6 internos actuales y futuros. Para encontrar el rango IPv6 interno de la red de VPC, puedes usar el siguiente comando:
gcloud compute networks describe NETWORK \ --format="flattened(internalIpv6Range)"
También puedes especificar rangos de subredes IPv6 internos específicos.
Para permitir el tráfico de los rangos de subredes IPv6 externas de las subredes de doble pila, debes especificar el rango de direcciones IPv6 de cada subred que desees incluir.
- Las redes de VPC de modo automático usan rangos de direcciones IP que están dentro de
Permite conexiones SSH de entrada a VMs
En los ejemplos siguientes, se crea una regla de firewall a fin de permitir conexiones SSH a tus instancias de VM, de manera similar a la regla allow-ssh
para las redes predeterminadas.
gcloud
Usa el comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:22 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Reemplaza lo siguiente:
RULE_NAME
: El nombre de esta regla de firewall.NETWORK
: El nombre de la red a la que se aplica esta regla de firewall. El valor predeterminado esdefault
.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- Incluir
35.235.240.0/20
en los rangos de origen permite conexiones SSH mediante el reenvío de TCP de Identity-Aware Proxy (IAP) si se cumplen todos los demás requisitos previos. Si deseas obtener más información, consulta Usa IAP para el redireccionamiento de TCP. - El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- Incluir
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "tcp", "ports": [ "22" ] } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.RULE_NAME
: Es el nombre de la regla de firewall.NETWORK
es el nombre de la red de VPC en la que se crea la regla de firewall.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- Incluir
35.235.240.0/20
en los rangos de origen permite conexiones SSH mediante el reenvío de TCP de Identity-Aware Proxy (IAP) si se cumplen todos los demás requisitos previos. Si deseas obtener más información, consulta Usa IAP para el redireccionamiento de TCP. - El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- Incluir
Permite conexiones RDP de entrada a VMs
En los siguientes ejemplos, se crea una regla de firewall para permitir conexiones del protocolo de escritorio remoto de Microsoft (RDP) a las instancias de VM, de forma similar a la regla allow-rdp
para las redes predeterminadas.
gcloud
Usa el comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=tcp:3389 \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Reemplaza lo siguiente:
RULE_NAME
: El nombre de esta regla de firewall.NETWORK
: El nombre de la red a la que se aplica esta regla de firewall. El valor predeterminado esdefault
.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- Incluir
35.235.240.0/20
en los rangos de origen permite conexiones de RDP mediante el reenvío de TCP de Identity-Aware Proxy (IAP) si se cumplen todos los demás requisitos previos. Si deseas obtener más información, consulta Usa IAP para el redireccionamiento de TCP. - El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- Incluir
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "allowed": [ { "IPProtocol": "tcp", "ports": [ "3389" ] } ], "sourceRanges": [ "EXTERNAL_SOURCE_RANGES" ] }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.RULE_NAME
: Es el nombre de la regla de firewall.NETWORK
es el nombre de la red de VPC en la que se crea la regla de firewall.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- Incluir
35.235.240.0/20
en los rangos de origen permite conexiones de RDP mediante el reenvío de TCP de Identity-Aware Proxy (IAP) si se cumplen todos los demás requisitos previos. Si deseas obtener más información, consulta Usa IAP para el redireccionamiento de TCP. - El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- Incluir
Permite conexiones ICMP de entrada a VMs
En los siguientes ejemplos, se crea una regla de firewall a fin de permitir conexiones ICMP a las instancias de VM, de manera similar a la regla allow-icmp
para las redes predeterminadas.
gcloud
Usa el comando gcloud compute firewall-rules create
:
gcloud compute firewall-rules create RULE_NAME \ --action=ALLOW \ --direction=INGRESS \ --network=NETWORK \ --priority=1000 \ --rules=ICMP_PROTOCOL \ --source-ranges=RANGES_OUTSIDE_VPC_NETWORK
Reemplaza lo siguiente:
RULE_NAME
: Es el nombre de la regla de firewall.NETWORK
: El nombre de la red a la que se aplica esta regla de firewall. El valor predeterminado esdefault
.ICMP_PROTOCOL
es el tipo de protocolo ICMP. Especifica ICMPv4 mediante el nombre del protocoloicmp
o el número del protocolo1
. Especifica ICMPv6 mediante el número de protocolo58
.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- El uso de
API
POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "kind": "compute#firewall", "name": "RULE_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK", "direction": "INGRESS", "priority": 1000, "targetTags": [], "allowed": [ { "IPProtocol": "ICMP_PROTOCOL" } ], "sourceRanges": [ "RANGES_OUTSIDE_VPC_NETWORK" ] }
Reemplaza lo siguiente:
PROJECT_ID
es el ID del proyecto en el que se encuentra la red de VPC.RULE_NAME
: Es el nombre de la regla de firewall.NETWORK
es el nombre de la red de VPC en la que se crea la regla de firewall.ICMP_PROTOCOL
es el tipo de protocolo ICMP que se usará. Especifica ICMPv4 mediante el nombre del protocoloicmp
o el número del protocolo1
. Especifica ICMPv6 mediante el número de protocolo58
.RANGES_OUTSIDE_VPC_NETWORK
: Uno o más rangos de direcciones IP. Puedes especificar rangos de IPv4 o de IPv6 en una regla de firewall determinada. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6.- El uso de
0.0.0.0/0
como rango de origen permite el tráfico desde todas las fuentes de IPv4, incluidas las fuentes fuera de Google Cloud. - El uso de
::/0
como rango de origen permite el tráfico desde todas las fuentes de IPv6, incluidas las fuentes fuera de Google Cloud.
- El uso de
Otros ejemplos de configuración
En la Figura 1, se describe un ejemplo de configuración para una red de VPC llamada my-network
. La red contiene los siguientes elementos:
- Una subred llamada
subnet1
, con el rango de IP10.240.10.0/24
y una sola instancia - Una subred llamada
subnet2
, con el rango de IP192.168.1.0/24
- Una instancia llamada
vm1
ensubnet2
con una etiqueta dewebserver
y la dirección IP interna192.168.1.2
- Una instancia llamada
vm2
ensubnet2
con una etiqueta dedatabase
y la dirección IP interna192.168.1.3
Ejemplo 1: Rechaza todas las conexiones TCP de entrada, excepto aquellas al puerto 80 desde subnet1.
En este ejemplo, se crea un conjunto de reglas de firewall de VPC que rechaza todas las conexiones TCP de entrada, excepto las conexiones destinadas al puerto 80
de subnet1
.
gcloud
Crea una regla de firewall para rechazar todo el tráfico de TCP de entrada a instancias etiquetadas con
webserver
.gcloud compute firewall-rules create deny-subnet1-webserver-access \ --network NETWORK_NAME \ --action deny \ --direction ingress \ --rules tcp \ --source-ranges 0.0.0.0/0 \ --priority 1000 \ --target-tags webserver
Reemplaza
NETWORK_NAME
por el nombre de la red.Crea una regla de firewall para permitir que todas las direcciones IP en
subnet1
(10.240.10.0/24
) accedan al puerto TCP80
en las instancias etiquetadas conwebserver
.gcloud compute firewall-rules create vm1-allow-ingress-tcp-port80-from-subnet1 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:80 \ --source-ranges 10.240.10.0/24 \ --priority 50 \ --target-tags webserver
Reemplaza
NETWORK_NAME
por el nombre de la red.
Ejemplo 2: Rechaza todas las conexiones TCP de salida, excepto aquellas al puerto 80 de vm1.
gcloud
Crea una regla de firewall que rechace todo el tráfico de TCP de salida.
gcloud compute firewall-rules create deny-all-access \ --network NETWORK_NAME \ --action deny \ --direction egress \ --rules tcp \ --destination-ranges 0.0.0.0/0 \ --priority 1000
Reemplaza
NETWORK_NAME
por el nombre de la red.Crea una regla de firewall para permitir el tráfico TCP destinado al puerto
80
devm1
.gcloud compute firewall-rules create vm1-allow-egress-tcp-port80-to-vm1 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:80 \ --destination-ranges 192.168.1.2/32 \ --priority 60
Reemplaza
NETWORK_NAME
por el nombre de la red.
Ejemplo 3: Permite las conexiones TCP de salida al puerto 443 de un host externo.
Crea una regla de firewall que permita que las instancias etiquetadas con webserver
envíen tráfico TCP de salida al puerto 443
de una dirección IP externa de muestra, 192.0.2.5
.
gcloud
gcloud compute firewall-rules create vm1-allow-egress-tcp-port443-to-192-0-2-5 \ --network NETWORK_NAME \ --action allow \ --direction egress \ --rules tcp:443 \ --destination-ranges 192.0.2.5/32 \ --priority 70 \ --target-tags webserver
Reemplaza NETWORK_NAME
por el nombre de la red.
Ejemplo 4: Permite las conexiones SSH de vm2 a vm1.
Crea una regla de firewall que permita que el tráfico SSH proveniente de instancias con la etiqueta database
(vm2
) llegue a instancias con la etiqueta webserver
(vm1
).
gcloud
gcloud compute firewall-rules create vm1-allow-ingress-tcp-ssh-from-vm2 \ --network NETWORK_NAME \ --action allow \ --direction ingress \ --rules tcp:22 \ --source-tags database \ --priority 80 \ --target-tags webserver
Reemplaza NETWORK_NAME
por el nombre de la red.
Ejemplo 5: Permite TCP:1443 de un servidor web a una base de datos mediante cuentas de servicio
Si deseas obtener información adicional acerca de las cuentas de servicio y los roles, consulta Asigna funciones a cuentas de servicio.
Considera la situación presentada en la figura 2, en la que hay dos aplicaciones con ajuste de escala automático a través de plantillas: una aplicación de servidor web asociada con una cuenta de servicio my-sa-webserver
y una aplicación de base de datos asociada con una cuenta de servicio my-sa-database
. Un administrador de seguridad desea permitir el tráfico de TCP desde las VMs con la cuenta de servicio my-sa-webserver
al puerto de destino 1443
de las VMs con la cuenta de servicio my-sa-database
.
A continuación, se describen los pasos de configuración, incluida la creación de las cuentas de servicio:
gcloud
Un EDITOR o PROPIETARIO de proyecto crea las cuentas de servicio
my-sa-webserver
ymy-sa-database
.gcloud iam service-accounts create my-sa-webserver \ --display-name "webserver service account"
gcloud iam service-accounts create my-sa-database \ --display-name "database service account"
Un PROPIETARIO del proyecto asigna al desarrollador del servidor web web-dev@example.com un rol de serviceAccountUser para la cuenta de servicio
my-sa-webserver
mediante una configuración de una política de Identity and Access Management (IAM).gcloud iam service-accounts add-iam-policy-binding \ my-sa-webserver@my-project.iam.gserviceaccount.com \ --member='user:web-dev@example.com' \ --role='roles/iam.serviceAccountUser'
Un PROPIETARIO de proyecto asigna un rol serviceAccountUser a un desarrollador de base de datos
db-dev@example.com
para la cuenta de serviciomy-sa-database
mediante una política de IAM.gcloud iam service-accounts add-iam-policy-binding \ my-sa-database@my-project.iam.gserviceaccount.com \ --member='user:db-dev@example.com' \ --role='roles/iam.serviceAccountUser'
El desarrollador
web-dev@example.com
, que tiene el rol de Administrador de instancias, crea una plantilla de instancia de servidor web y autoriza a las instancias a ejecutarse como la cuenta de serviciomy-sa-webserver
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-webserver@my-project-123.iam.gserviceaccount.com
El desarrollador
db-dev@example.com
, que tiene el rol de Administrador de instancias, crea la plantilla de instancia de base de datos y autoriza a las instancias a ejecutarse como la cuenta de serviciomy-sa-database
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --service-account my-sa-database@my-project-123.iam.gserviceaccount.com
El administrador de seguridad crea una regla de firewall que permite que el tráfico TCP de las VMs con la cuenta de servicio
my-sa-webserver
llegue al puerto 1443 de las VMs con la cuenta de serviciomy-sa-database
.gcloud compute firewall-rules create RULE_NAME \ --network network_a \ --allow TCP:1443 \ --source-service-accounts my-sa-webserver@my-project.iam.gserviceaccount.com \ --target-service-accounts my-sa-database@my-project.iam.gserviceaccount.com
Soluciona problemas
Mensajes de error cuando se crea o actualiza una regla de firewall de VPC
Tal vez veas alguno de los siguientes mensajes de error:
Should not specify destination range for ingress direction.
Los rangos de destino no son parámetros válidos para reglas de firewall de entrada. Se supone que las reglas de firewall son de entrada, a no ser que se especifique una dirección de
egress
. Si creas una regla que no especifica una dirección, se crea como una regla de entrada, que no permite un rango de destino. De igual manera, los rangos fuente no son parámetros válidos para las reglas de salida.Firewall direction cannot be changed once created.
No puedes cambiar la dirección de una regla de firewall existente. Tienes que crear una regla nueva con los parámetros correctos y, luego, borrar la anterior.
Firewall traffic control action cannot be changed once created.
No puedes cambiar la acción de una regla de firewall existente. Tienes que crear una regla nueva con los parámetros correctos y, luego, borrar la anterior.
Service accounts must be valid RFC 822 email addresses.
La cuenta de servicio especificada en una regla de firewall debe ser una dirección de correo electrónico con el formato que indica RFC 822.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts invalid-email
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – Invalid value for field 'resource.sourceServiceAccounts[0]': 'invalid-email'. Service accounts must be valid RFC 822 email addresses.
ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
No puedes especificar cuentas de servicio y etiquetas en la misma regla.gcloud compute firewall-rules create bad --allow tcp --source-service-accounts test@google.com --target-tags target
Creating firewall...failed. ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: – ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
Error de recurso no encontrado
Cuando borres una red de VPC o una regla de firewall, es posible que veas un mensaje similar al siguiente: The resource "aet-uscentral1-subnet--1-egrfw" was not found.
Este error puede impedir que borres una regla de firewall implícita o que veas sus detalles. Una regla de firewall que se encuentra en este estado también puede bloquear la eliminación de una red de VPC.
Para borrar una regla de firewall o una red que está bloqueada de esta manera, primero borra el conector de Acceso a VPC sin servidores asociado y, luego, vuelve a intentarlo. Para obtener más información sobre cómo borrar un conector de acceso a VPC sin servidores, consulta Borra un conector.
Hay demasiados errores de firewalls grandes
Es posible que veas el siguiente mensaje de error: Google Compute Engine: The network contains too many large firewalls.
Para mantener la seguridad y el rendimiento, hay un límite en la complejidad y la cantidad de reglas de firewall que se pueden implementar en una red de VPC. Si ves este error, pídele al equipo de administración de cuentas que simplifique o consolide tus reglas de firewall.
No es posible conectarse a la instancia de VM
Si no puedes conectarte a la instancia de VM, verifica tus reglas de firewall.
gcloud
Si estás iniciando la conexión desde otra instancia de VM, enumera las reglas de firewall de salida para esa instancia.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter EGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Reemplaza
NETWORK_NAME
por el nombre de la red.Verifica si la IP de destino está rechazada en alguna regla de salida. La regla con la mayor prioridad (con el número de prioridad más bajo) anula las reglas de menor prioridad. En el caso de que haya dos reglas con la misma prioridad, prevalece la regla de rechazo.
Verifica las reglas de firewall de ingreso para la red que contiene la instancia de VM de destino.
gcloud compute firewall-rules list --filter network=NETWORK_NAME \ --filter INGRESS \ --sort-by priority \ --format="table( name, network, direction, priority, sourceRanges.list():label=SRC_RANGES, destinationRanges.list():label=DEST_RANGES, allowed[].map().firewall_rule().list():label=ALLOW, denied[].map().firewall_rule().list():label=DENY, sourceTags.list():label=SRC_TAGS, sourceServiceAccounts.list():label=SRC_SVC_ACCT, targetTags.list():label=TARGET_TAGS, targetServiceAccounts.list():label=TARGET_SVC_ACCT )"
Reemplaza
NETWORK_NAME
por el nombre de la red.Resultado de muestra: El resultado que recibas dependerá de la lista de reglas de firewall.
NAME NETWORK DIRECTION PRIORITY SRC_RANGES DEST_RANGES ALLOW DENY SRC_TAGS SRC_SVC_ACCT TARGET_TAGS TARGET_SVC_ACCT default-allow-icmp default INGRESS 65534 0.0.0.0/0 icmp default-allow-internal default INGRESS 65534 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp default-allow-rdp default INGRESS 65534 0.0.0.0/0 tcp:3389 default-allow-ssh default INGRESS 65534 0.0.0.0/0 tcp:22 firewall-with-sa default INGRESS 1000 tcp:10000 test1@google.com target@google.com
También puedes ejecutar pruebas de conectividad desde y hacia las instancias de VM pertenecientes a una red de VPC hasta otra red de VPC o una red que no pertenezca a Google Cloud para solucionar problemas en caso de pérdida de tráfico debido a reglas de firewall de entrada o salida. Si quieres obtener más información sobre cómo ejecutar las pruebas de conectividad para solucionar diversos problemas, consulta Ejecuta pruebas de conectividad.
¿Mi regla de firewall de VPC está habilitada o inhabilitada?
Para ver si una regla de firewall está habilitada o inhabilitada, consulta los detalles de reglas de firewall.
En la consola de Google Cloud, busca Habilitadas o Inhabilitadas en la sección Aplicación.
En el resultado de la CLI de gcloud, busca el campo disabled
.
Si dice disabled:false
, la regla está habilitada y se está aplicando. Si dice disabled: true
, la regla está inhabilitada.
¿Qué regla se está aplicando en una instancia de VM?
Después de crear la regla, puedes verificar si se está aplicando de forma correcta en una instancia en particular. Si deseas obtener más información, consulta Enumera las reglas de firewall para una interfaz de red de una instancia de VM.
Las reglas de firewall de VPC con etiquetas de origen no se aplican de inmediato
Las reglas de firewall de entrada que usan etiquetas de origen pueden demorar en propagarse. Para obtener detalles, consulta las consideraciones relacionadas con las etiquetas de origen para las reglas de firewall de entrada.
¿Qué sigue?
- Para obtener una introducción a las reglas de firewall, consulta Reglas de firewall de VPC.