Come aprire una porta specifica come 9090 in Google Compute Engine


195

Ho 2 istanze di Google Compute Engine e voglio aprire la porta 9090 in entrambe le istanze. Penso che dobbiamo aggiungere alcune regole del firewall.

Puoi dirmi come posso farlo?


7
Penso che questa domanda abbia avuto risposta. Ti dispiacerebbe selezionare una delle risposte di seguito? Aiuterebbe i futuri lettori a riconoscere più facilmente che questo problema è stato risolto.
Modulitos,

Yo, Subhradip, scegli una risposta.
Oligofren,

Risposte:


339

Devi:

  1. Vai su cloud.google.com

  2. Vai alla mia console

  3. Scegli il tuo progetto

  4. Scegli Rete> Rete VPC

  5. Scegli "Regole firewall"

  6. Scegli "Crea regola firewall"

  7. Per applicare la regola per selezionare le istanze di macchine virtuali, selezionare Target> "Tag target specificati" e inserire in "Tag target" il nome del tag. Questo tag verrà utilizzato per applicare la nuova regola del firewall a qualsiasi istanza desideri. Quindi, assicurarsi che le istanze abbiano applicato il tag di rete.

  8. Per consentire le connessioni TCP in entrata alla porta 9090, immettere "Protocolli e porte" tcp:9090

  9. Fai clic su Crea

Spero che questo ti aiuta.

Aggiornamento Consultare i documenti per personalizzare le regole.


4
Il motore di calcolo non ha alcuna opzione "reti" (più?)
Afr

8
Sì, non esiste alcuna opzione di reti ora, il percorso aggiornato è Progetto -> Rete -> Regole firewall
Caio Vertematti,

1
Nel mio caso, ho solo allow httpe allow httpsho aggiunto una nuova regola firewall ma non riesco a trovarla. Sono anche al livello gratuito, se aiuta.
A. L

1
È necessario consentire a http di aprire la porta 80 e consentire a https di aprire 443. È un collegamento.
Carlos Rojas,

4
Il percorso del menu dei documenti continua a cambiare. Ritiene importante indicare il documento nella risposta: cloud.google.com/vpc/docs/using-firewalls
Anupam

81

Ecco l'approccio da riga di comando per rispondere a questa domanda:

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

Questo aprirà la porta 9090per le istanze che hai nominato. Omettendo --source-tagse --source-rangesapplicherà la regola a tutte le istanze. Maggiori dettagli sono nella documentazione di Gcloud e nel firewall-rule createmanuale di comando

Le risposte precedenti sono fantastiche, ma Google consiglia di utilizzare i gcloudcomandi più recenti anziché i gcutilcomandi.

PS: per avere un'idea delle regole del firewall di Google, esegui gcloud compute firewall-rules liste visualizza tutte le regole del firewall


Ricevo dei reclami quando uso la --descriptionparte, ma per il resto questo funziona per me.
Shabbychef,

2
Non sono sicuro che abbiano cambiato l'API, ma la sorgente e il target sembrano essere l'opposto della risposta di @ modulitos. Secondo la documentazione del comando delle regole del firewall , sourceindica il traffico in entrata, mentre si targetriferisce alle istanze a cui applicare la regola.
cindyxiaoxiaoli,

1
ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource: - Insufficient Permission@modulitos
Alper

Qual è il test delle conseguenze @modulitos? È telnet :instance_ip :porto nmap -p :port :instance_ip?
Nam G VU,

@alper Devi eseguire questo comando prima: "gcloud auth login" e accedi
Anton Tkachov il

10

Dovrai aggiungere una regola firewall per aprire l'accesso in entrata tcp:9090alle tue istanze. Se hai più di due istanze e vuoi aprire solo 9090 a quelle due, ti consigliamo di assicurarti che ci sia un tag che queste due istanze condividono. È possibile aggiungere o aggiornare i tag tramite la console o la riga di comando; Consiglierei di usare la GUI per questo, se necessario, perché gestisce il ciclo di lettura-modifica-scrittura setinstancetags.

Se si desidera aprire la porta 9090 in tutte le istanze, è possibile creare una regola firewall come:

gcutil addfirewall allow-9090 --allowed=tcp:9090

che si applicherà a tutte le tue istanze.

Se desideri aprire solo la porta 9090 alle due istanze che servono l'applicazione, assicurati che abbiano un tag simile my-app, quindi aggiungi un firewall in questo modo:

gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app

Puoi leggere ulteriori informazioni sulla creazione e la gestione dei firewall in GCE qui .


10
gcutilnon è più disponibile; si prega di riscrivere le righe di comando utilizzando gcloud.
Misha Brukman,

10

Questa domanda è vecchia e la risposta di Carlos Rojas è buona, ma penso che dovrei pubblicare alcune cose da tenere a mente mentre provo ad aprire i porti.

La prima cosa da ricordare è che la sezione Networking è stata rinominata VPC Networking . Quindi, se stai cercando di scoprire dove è disponibile l'opzione Regole firewall , dai un'occhiata a Networking VPC .

La seconda cosa è, se stai provando ad aprire le porte su una VM Linux, assicurati in nessun caso di provare ad aprire la porta usando il ufwcomando. Ho provato a usarlo e ho perso l'accesso ssh alla VM. Quindi non ripetere il mio errore.

La terza cosa è, se stai cercando di aprire le porte su una VM Windows, dovrai creare le regole del Firewall all'interno della VM anche in Windows Firewall insieme a VPC Networking -> Firewall Rules . La porta deve essere aperta in entrambe le regole del firewall, a differenza della VM Linux. Quindi, se non stai accedendo alla porta dall'esterno della VM, controlla se hai aperto la porta sia nella console GCP che in Windows Firewall.

L'ultima (ovvia) cosa è, non aprire le porte inutilmente. Chiudi le porte, non appena non ti servono più.

Spero che questa risposta sia utile.


Buoni consigli tranne che ho aperto alcune porte specifiche con il ufwcomando e ho ancora accesso ssh.
stackErr

7

Ho avuto lo stesso tuo problema e ho potuto risolverlo seguendo le istruzioni di @CarlosRojas con una piccola differenza. Invece di creare una nuova regola firewall, ho modificato default-allow-internalquella per accettare il traffico da qualsiasi luogo poiché la creazione di nuove regole non ha fatto alcuna differenza.


È previsto un addebito per la creazione di una nuova regola firewall. Sei riuscito a evitarlo modificando questa regola?
killjoy,

@killjoy Non ne sono sicuro. Attualmente non sto utilizzando il motore di calcolo di Google. Scusate.
Nevershowmyface,

2
Mentre questo può funzionare, ci sono problemi di sicurezza con questo metodo. Quello che ho scoperto che funzionava per me era usare i tag firewall sulle mie istanze. Quando si crea una regola firewall, è possibile creare un "Tag target" per quella regola. È quindi possibile applicare quel tag all'istanza della VM che applicherà la regola all'istanza specifica. Vedere la risposta accettata qui per maggiori: stackoverflow.com/questions/31509722/...
k00k

7

Creazione di regole firewall

Esamina i componenti delle regole del firewall [1] se non hai familiarità con le regole del firewall in GCP. Le regole del firewall sono definite a livello di rete e si applicano solo alla rete in cui sono state create; tuttavia, il nome scelto per ciascuno di essi deve essere univoco per il progetto.

Per Cloud Console:

  1. Vai alla pagina Regole del firewall nella Console della piattaforma cloud di Google.
  2. Fai clic su Crea regola firewall.
  3. Immettere un nome per la regola del firewall. Questo nome deve essere univoco per il progetto.
  4. Specificare la rete in cui verrà implementata la regola del firewall.
  5. Specifica la priorità della regola. Più basso è il numero, maggiore è la priorità.
  6. Per la direzione del traffico, selezionare l'ingresso o l'uscita.
  7. Per l'azione sulla partita, scegli consenti o nega.
  8. Specificare i target della regola.

    • Se si desidera applicare la regola a tutte le istanze della rete, selezionare Tutte le istanze nella rete.
    • Se si desidera applicare la regola per selezionare le istanze tramite tag di rete (di destinazione), selezionare Tag di destinazione specificati, quindi digitare i tag a cui applicare la regola nel campo Tag di destinazione.
    • Se si desidera applicare la regola per selezionare le istanze per account di servizio associato, selezionare Account di servizio specificato, indicare se l'account di servizio si trova nel progetto corrente o un altro nell'ambito dell'account di servizio e scegliere o digitare il nome dell'account di servizio nel servizio di destinazione campo account.
  9. Per una regola di ingresso, specifica il filtro Sorgente:

    • Scegliere intervalli IP e digitare i blocchi CIDR nel campo Intervalli IP di origine per definire l'origine del traffico in entrata in base agli intervalli di indirizzi IP. Utilizzare 0.0.0.0/0 per un'origine da qualsiasi rete.
    • Scegli Sottoreti, quindi seleziona quelle necessarie dal pulsante a comparsa Sottoreti per definire l'origine del traffico in entrata in base al nome della sottorete.
    • Per limitare l'origine tramite tag di rete, selezionare Tag di origine, quindi digitare i tag di rete nel campo Tag di origine. Per il limite sul numero di tag di origine, vedere Quote e limiti VPC. Il filtro per tag di origine è disponibile solo se la destinazione non è specificata dall'account del servizio. Per ulteriori informazioni, consultare Filtro per account di servizio e tag di rete.
    • Per limitare l'origine in base all'account del servizio, selezionare Account del servizio, indicare se l'account del servizio si trova nel progetto corrente o un altro nell'ambito dell'account del servizio e scegliere o digitare il nome dell'account del servizio nel campo Account del servizio di origine. Il filtro per account del servizio di origine è disponibile solo se la destinazione non è specificata dal tag di rete. Per ulteriori informazioni, consultare Filtro per account di servizio e tag di rete.
    • Se lo si desidera, specificare un secondo filtro sorgente. I filtri di origine secondari non possono utilizzare gli stessi criteri di filtro di quello primario.
  10. Per una regola di uscita, specifica il filtro Destinazione:

    • Scegliere intervalli IP e digitare i blocchi CIDR nel campo Intervalli IP di destinazione per definire la destinazione per il traffico in uscita per intervalli di indirizzi IP. Usa 0.0.0.0/0 per significare ovunque.
    • Scegli Sottoreti, quindi seleziona quelle necessarie dal pulsante a comparsa Sottoreti per definire la destinazione del traffico in uscita in base al nome della sottorete.
  11. Definire i protocolli e le porte a cui verrà applicata la regola:

    • Selezionare Consenti tutto o Nega tutto, a seconda dell'azione, affinché la regola si applichi a tutti i protocolli e le porte.

    • Definire protocolli e porte specifici:

      • Selezionare tcp per includere il protocollo TCP e le porte. Immettere un elenco di porte delimitato da tutte o una virgola, ad esempio 20-22, 80, 8080.
      • Seleziona udp per includere il protocollo e le porte UDP. Immettere un elenco completo o delimitato da virgole di porte, ad esempio 67-69, 123.
      • Seleziona Altri protocolli per includere protocolli come icmp o sctp.
  12. (Facoltativo) È possibile creare la regola del firewall ma non applicarla impostando lo stato di applicazione su disabilitato. Fai clic su Disabilita regola, quindi seleziona Disabilitato.

  13. (Facoltativo) È possibile abilitare la registrazione delle regole del firewall:

    • Fai clic su Registri> Attivo.
    • Fai clic su Attiva.
  14. Fai clic su Crea.

Link: [1] https://cloud.google.com/vpc/docs/firewalls#firewall_rule_components


0

Ho dovuto risolvere questo problema diminuendo la priorità (aumentandola). Ciò ha causato una risposta immediata. Non quello che mi aspettavo, ma ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.