Tengo 2 instancias de Google Compute Engine y quiero abrir el puerto 9090 en ambas instancias. Creo que necesitamos agregar algunas reglas de firewall.
¿Me puede decir cómo puedo hacer eso?
Tengo 2 instancias de Google Compute Engine y quiero abrir el puerto 9090 en ambas instancias. Creo que necesitamos agregar algunas reglas de firewall.
¿Me puede decir cómo puedo hacer eso?
Respuestas:
Necesitas:
Ve a cloud.google.com
Ir a mi consola
Elige tu proyecto
Elija Redes> Red VPC
Elija "Reglas de firewalls"
Elija "Crear regla de firewall"
Para aplicar la regla para seleccionar instancias de VM, seleccione Destinos> "Etiquetas de destino especificadas" e ingrese en "Etiquetas de destino" el nombre de la etiqueta. Esta etiqueta se usará para aplicar la nueva regla de firewall en la instancia que desee. Luego, asegúrese de que las instancias tengan aplicada la etiqueta de red.
Para permitir conexiones TCP entrantes al puerto 9090, en "Protocolos y puertos", ingrese tcp:9090
Haz clic en Crear
Espero que esto te ayude.
Actualización Consulte los documentos para personalizar sus reglas.
allow http
y allow https
he agregado una nueva regla de firewall, pero parece que no puedo encontrarla. También estoy en el nivel gratuito, si eso ayuda.
Aquí está el enfoque de línea de comandos para responder esta pregunta:
gcloud compute firewall-rules create <rule-name> --allow tcp:9090 --source-tags=<list-of-your-instances-names> --source-ranges=0.0.0.0/0 --description="<your-description-here>"
Esto abrirá el puerto 9090
para las instancias que nombre. Omitiendo --source-tags
y --source-ranges
aplicará la regla a todas las instancias. Más detalles en la documentación de Gcloud y el firewall-rule create
manual de comandos
Las respuestas anteriores son geniales, pero Google recomienda usar los gcloud
comandos más nuevos en lugar de los gcutil
comandos.
PD: para tener una idea de las reglas de firewall de Google, ejecute gcloud compute firewall-rules list
y vea todas las reglas de firewall
--description
pieza, pero de lo contrario esto funciona para mí.
source
significa tráfico entrante mientras que se target
refiere a las instancias a las que se aplicará la regla.
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission
@modulitos
telnet :instance_ip :port
o nmap -p :port :instance_ip
?
Deberá agregar una regla de firewall para abrir el acceso entrante tcp:9090
a sus instancias. Si tiene más de las dos instancias y solo desea abrir 9090 a esas dos, querrá asegurarse de que haya una etiqueta que compartan esas dos instancias. Puede agregar o actualizar etiquetas a través de la consola o la línea de comandos; Recomiendo usar la GUI para eso si es necesario porque maneja el ciclo de lectura-modificación-escritura con setinstancetags
.
Si desea abrir el puerto 9090 para todas las instancias, puede crear una regla de firewall como:
gcutil addfirewall allow-9090 --allowed=tcp:9090
que se aplicará a todas sus instancias.
Si solo desea abrir el puerto 9090 a las dos instancias que sirven a su aplicación, asegúrese de que tengan una etiqueta como my-app
, y luego agregue un firewall como este:
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
Puede leer más sobre cómo crear y administrar firewalls en GCE aquí .
gcutil
ya no está disponible; reescribe tus líneas de comando usando gcloud
.
Esta pregunta es antigua y la respuesta de Carlos Rojas es buena, pero creo que debería publicar algunas cosas que deben tenerse en cuenta al intentar abrir los puertos.
Lo primero que debe recordar es que la sección Redes se renombra a Redes VPC . Entonces, si está tratando de averiguar dónde está disponible la opción de Reglas de firewall , vaya a VPC Networking .
La segunda cosa es que si está intentando abrir puertos en una máquina virtual Linux, asegúrese de que bajo ninguna circunstancia intente abrir el puerto con el ufw
comando. Intenté usar eso y perdí el acceso ssh a la VM. Así que no repitas mi error.
La tercera cosa es que, si está intentando abrir puertos en una VM de Windows, deberá crear reglas de Firewall dentro de la VM también en Firewall de Windows junto con Networking VPC -> Reglas de Firewall . El puerto debe abrirse en ambas reglas de firewall, a diferencia de Linux VM. Entonces, si no obtiene acceso al puerto desde fuera de la VM, verifique si ha abierto el puerto tanto en la consola GCP como en el Firewall de Windows.
Lo último (obvio) es que no abra puertos innecesariamente. Cierre los puertos tan pronto como ya no lo necesite.
Espero que esta respuesta sea útil.
ufw
comando y todavía tengo acceso ssh.
Tuve el mismo problema que tú y pude resolverlo siguiendo las instrucciones de @CarlosRojas con una pequeña diferencia. En lugar de crear una nueva regla de firewall, edité la default-allow-internal
de aceptar tráfico desde cualquier lugar, ya que crear nuevas reglas no hizo ninguna diferencia.
Crear reglas de firewall
Revise los componentes de la regla del firewall [1] si no está familiarizado con las reglas del firewall en GCP. Las reglas de firewall se definen a nivel de red y solo se aplican a la red donde se crean; sin embargo, el nombre que elija para cada uno de ellos debe ser exclusivo del proyecto.
Para la consola de la nube:
Especifique los objetivos de la regla.
Para una regla de ingreso, especifique el filtro Fuente:
Para una regla de salida, especifique el filtro Destino:
Defina los protocolos y puertos a los que se aplicará la regla:
Seleccione Permitir todo o Denegar todo, según la acción, para que la regla se aplique a todos los protocolos y puertos.
Definir protocolos y puertos específicos:
(Opcional) Puede crear la regla de firewall pero no aplicarla estableciendo su estado de aplicación en deshabilitado. Haga clic en Deshabilitar regla, luego seleccione Deshabilitado.
(Opcional) Puede habilitar el registro de reglas de firewall:
Haz clic en Crear.
Enlace: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components