web-dev-qa-db-fra.com

Comment ouvrir un port spécifique tel que 9090 dans Google Compute Engine

J'ai 2 instances de Google Compute Engine et je veux ouvrir le port 9090 dans les deux instances. Je pense que nous devons ajouter des règles de pare-feu.

Pouvez-vous me dire comment puis-je faire ça?

167
Subhradip Bose

Tu dois:

  1. Aller sur cloud.google.com

  2. Aller à ma console

  3. Choisissez votre projet

  4. Choisissez Réseau> Réseau VPC

  5. Choisissez "Règles de pare-feu"

  6. Choisissez "Créer une règle de pare-feu"

  7. Pour appliquer la règle afin de sélectionner VM instances, sélectionnez Cibles> "Balises cibles spécifiées", puis entrez dans "Balises cibles" le nom de la balise. Cette balise sera utilisée pour appliquer la nouvelle règle de pare-feu à l'instance de votre choix. Ensuite, assurez-vous que la balise de réseau est appliquée aux instances.

  8. Pour autoriser les connexions TCP entrantes sur le port 9090, dans "Protocoles et ports", entrez tcp:9090

  9. Cliquez sur Créer

J'espère que ceci vous aide.

Mise à jour Veuillez vous référer à docs pour personnaliser vos règles.

300
Carlos Rojas

Voici l'approche en ligne de commande pour répondre à cette question:

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

Cela ouvrira le port 9090 pour les instances que vous nommez. Si vous omettez --source-tags et --source-ranges, la règle sera appliquée à toutes les instances. Plus de détails sont dans le documentation Gcloud et le manuel de commande firewall-rule create

Les réponses précédentes sont excellentes, mais Google le recommande en utilisant les nouvelles commandes gcloud au lieu des commandes gcutil.

PS: pour avoir une idée des règles de pare-feu de Google, lancez gcloud compute firewall-rules list et affichez toutes vos règles de pare-feu.

73
modulitos

Vous devez ajouter une règle de pare-feu pour ouvrir un accès entrant à tcp:9090 à vos instances. Si vous avez plus que les deux instances et que vous voulez seulement ouvrir 9090 avec ces deux-là, assurez-vous qu'il existe une balise que ces deux instances partagent. Vous pouvez ajouter ou mettre à jour des balises via la console ou la ligne de commande. Si nécessaire, je vous recommande d'utiliser l'interface graphique car elle gère le cycle lecture-modification-écriture avec setinstancetags.

Si vous souhaitez ouvrir le port 9090 à toutes les instances, vous pouvez créer une règle de pare-feu comme celle-ci:

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

qui s'appliquera à toutes vos instances.

Si vous souhaitez uniquement ouvrir le port 9090 sur les deux instances qui desservent votre application, assurez-vous qu'elles ont une balise telle que my-app, puis ajoutez un pare-feu comme suit:

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

Vous pouvez en savoir plus sur création et gestion de pare-feu dans GCE ici .

9
E. Anderson

Cette question est ancienne et la réponse de Carlos Rojas est bonne, mais je pense que je devrais publier quelques éléments à garder à l'esprit lors de la tentative d'ouverture des ports.

La première chose à retenir est que la section Mise en réseau est renommée en Mise en réseau VPC . Donc, si vous essayez de savoir où l’option Règles de pare-feu est disponible, consultez le réseau VPC .

Deuxièmement, si vous essayez d'ouvrir des ports sur une machine virtuelle Linux, assurez-vous que vous ne devez en aucun cas essayer d'ouvrir un port à l'aide de la commande ufw . J'ai essayé de l'utiliser et j'ai perdu l'accès ssh à la machine virtuelle. Alors ne répétez pas mon erreur.

Troisièmement, si vous essayez d'ouvrir des ports sur une machine virtuelle Windows, vous devez créer des règles de pare-feu à l'intérieur de la VM également dans du pare-feu Windows avec la mise en réseau VPC -> Règles de pare-feu . Le port doit être ouvert dans les deux règles de pare-feu, contrairement à la machine virtuelle Linux. Par conséquent, si vous n'avez pas accès au port de l'extérieur de la machine virtuelle, vérifiez si vous avez ouvert le port dans la console GCP et le pare-feu Windows.

La dernière chose (évidente) est de ne pas ouvrir les ports inutilement. Fermez les ports dès que vous n'en avez plus besoin.

J'espère que cette réponse est utile.

7
noob

J'ai eu le même problème que vous et je pouvais le résoudre en suivant les instructions de @CarlosRojas avec une petite différence. Au lieu de créer une nouvelle règle de pare-feu, j'ai modifié la règle default-allow-internal pour accepter le trafic n'importe où, car la création de nouvelles règles ne faisait aucune différence.

7
Nevershowmyface

Création de règles de pare-feu

Veuillez examiner les composants de la règle de pare-feu [1] si vous n'êtes pas familiarisé avec les règles de pare-feu dans GCP. Les règles de pare-feu sont définies au niveau du réseau et ne s'appliquent qu'au réseau sur lequel elles ont été créées. Cependant, le nom que vous choisissez pour chacun d'eux doit être unique pour le projet.

Pour la console cloud:

  1. Accédez à la page Règles de pare-feu de la console Google Cloud Platform.
  2. Cliquez sur Créer une règle de pare-feu.
  3. Entrez un nom pour la règle de pare-feu. Ce nom doit être unique pour le projet.
  4. Spécifiez le réseau sur lequel la règle de pare-feu sera mise en œuvre.
  5. Spécifiez la priorité de la règle. Plus le nombre est faible, plus la priorité est élevée.
  6. Pour la direction du trafic, choisissez entrée ou sortie.
  7. Pour l'action sur match, choisissez autoriser ou refuser.
  8. Spécifiez les cibles de la règle.

    • Si vous souhaitez que la règle s'applique à toutes les instances du réseau, sélectionnez Toutes les instances du réseau.
    • Si vous souhaitez que la règle s'applique à la sélection d'instances par balises réseau (cible), choisissez Balises cibles spécifiées, puis tapez les balises auxquelles la règle doit s'appliquer dans le champ Balises cible.
    • Si vous souhaitez que la règle s'applique à la sélection d'instances par compte de service associé, choisissez Compte de service spécifié, indiquez si le compte de service se trouve dans le projet actuel ou dans le projet actuel, puis choisissez ou entrez le nom du compte de service dans le service cible. champ du compte.
  9. Pour une règle d'entrée, spécifiez le filtre Source:

    • Choisissez des plages IP et tapez les blocs CIDR dans le champ Source IP Range pour définir la source du trafic entrant par plages d'adresses IP. Utilisez 0.0.0.0/0 pour une source de n’importe quel réseau.
    • Choisissez Sous-réseaux, puis cochez ceux dont vous avez besoin dans le bouton contextuel Sous-réseaux pour définir la source du trafic entrant par nom de sous-réseau.
    • Pour limiter la source par balise réseau, choisissez Balises source, puis tapez les balises réseau dans le champ Balises source. Pour connaître le nombre maximal de balises source, voir Quotas et limites de VPC. Le filtrage par balise source n'est disponible que si la cible n'est pas spécifiée par compte de service. Pour plus d'informations, voir Filtrage par compte de service et balise de réseau.
    • Pour limiter le nombre de sources par compte de service, sélectionnez Compte de service, indiquez si le compte de service se trouve dans le projet en cours ou dans un autre sous Portée du compte de service, puis choisissez ou entrez le nom du compte de service dans le champ Compte de service source. Le filtrage par compte de service source est disponible uniquement si la cible n'est pas spécifiée par une balise de réseau. Pour plus d'informations, voir Filtrage par compte de service et balise réseau.
    • Spécifiez un second filtre source si vous le souhaitez. Les filtres source secondaires ne peuvent pas utiliser les mêmes critères de filtre que le filtre principal.
  10. Pour une règle de sortie, spécifiez le filtre Destination:

    • Choisissez des plages IP et tapez les blocs CIDR dans le champ Zones de destination IP pour définir la destination du trafic sortant par plages d'adresses IP. Utilisez 0.0.0.0/0 pour signifier partout.
    • Choisissez Sous-réseaux, puis cochez ceux dont vous avez besoin dans le bouton contextuel Sous-réseaux pour définir la destination du trafic sortant par nom de sous-réseau.
  11. Définissez les protocoles et les ports auxquels la règle s'appliquera:

    • Sélectionnez Tout autoriser ou Tout refuser, selon l'action, pour que la règle s'applique à tous les protocoles et à tous les ports.

    • Définir des protocoles et des ports spécifiques:

      • Sélectionnez TCP pour inclure le protocole TCP et les ports. Entrez tous les ports ou une liste de ports délimités par des virgules, tels que 20-22, 80, 8080.
      • Sélectionnez udp pour inclure le protocole UDP et les ports. Entrez tous les ports ou une liste de ports délimités par des virgules, tels que 67-69, 123.
      • Sélectionnez Autres protocoles pour inclure des protocoles tels que icmp ou sctp.
  12. (Facultatif) Vous pouvez créer la règle de pare-feu mais ne pas l’appliquer en définissant son état d’application sur désactivé. Cliquez sur Désactiver la règle, puis sélectionnez Désactivé.

  13. (Facultatif) Vous pouvez activer la journalisation des règles de pare-feu:

    • Cliquez sur Journaux> Sur.
    • Cliquez sur Activer.
  14. Cliquez sur Créer.

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

4
Kervin L

J'ai dû résoudre ce problème en diminuant la priorité (le rendant plus élevé). Cela a provoqué une réponse immédiate. Pas ce à quoi je m'attendais, mais cela a fonctionné.

0
justbob