我有2谷歌计算引擎实例,我想在两个实例中打开端口9090。我认为我们需要添加一些防火墙规则。
你能告诉我该怎么做吗?
我有2谷歌计算引擎实例,我想在两个实例中打开端口9090。我认为我们需要添加一些防火墙规则。
你能告诉我该怎么做吗?
当前回答
你需要:
Go to cloud.google.com Go to my Console Choose your Project Choose Networking > VPC network Choose "Firewall" Choose "Create Firewall Rule" To apply the rule to select VM instances, select Targets > "Specified target tags", and enter into "Target tags" the name of the tag. This tag will be used to apply the new firewall rule onto whichever instance you'd like. Then, make sure the instances have the network tag applied. Set Source IP ranges to allow traffic from all IPs: 0.0.0.0/0 To allow incoming TCP connections to port 9090, in "Protocols and Ports", check “tcp” and enter 9090 Click Create (or click “Equivalent Command Line” to show the gcloud command to create the same rule)
请参考文档自定义您的规则。
其他回答
下面是回答这个问题的命令行方法:
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>"
这将为您指定的实例打开端口9090。省略——source-tags和——source-ranges将该规则应用于所有实例。更多细节在Gcloud文档和firewall-rule创建命令手册中
前面的答案很好,但是谷歌建议使用更新的gcloud命令而不是gcutil命令。
PS: 要了解谷歌的防火墙规则,请运行gcloud compute firewall-rules list并查看所有防火墙规则
console.cloud.google.com >>选择项目>>组网> VPC网络>>防火墙>>创建防火墙
选择“Targets”,指定目标标签,在“target tags”中输入标签名。该标记将用于将新的防火墙规则应用到您想要的任何实例上。
在“协议和端口”中输入tcp:9090
单击Save。
你需要:
Go to cloud.google.com Go to my Console Choose your Project Choose Networking > VPC network Choose "Firewall" Choose "Create Firewall Rule" To apply the rule to select VM instances, select Targets > "Specified target tags", and enter into "Target tags" the name of the tag. This tag will be used to apply the new firewall rule onto whichever instance you'd like. Then, make sure the instances have the network tag applied. Set Source IP ranges to allow traffic from all IPs: 0.0.0.0/0 To allow incoming TCP connections to port 9090, in "Protocols and Ports", check “tcp” and enter 9090 Click Create (or click “Equivalent Command Line” to show the gcloud command to create the same rule)
请参考文档自定义您的规则。
创建防火墙规则
如果您不熟悉GCP中的防火墙规则,请查看防火墙规则组件[1]。防火墙规则是在网络级别定义的,并且只应用于创建它们的网络;但是,为每个名称选择的名称对于项目必须是唯一的。
对于云控制台:
Go to the Firewall rules page in the Google Cloud Platform Console. Click Create firewall rule. Enter a Name for the firewall rule. This name must be unique for the project. Specify the Network where the firewall rule will be implemented. Specify the Priority of the rule. The lower the number, the higher the priority. For the Direction of traffic, choose ingress or egress. For the Action on match, choose allow or deny. Specify the Targets of the rule. If you want the rule to apply to all instances in the network, choose All instances in the network. If you want the rule to apply to select instances by network (target) tags, choose Specified target tags, then type the tags to which the rule should apply into the Target tags field. If you want the rule to apply to select instances by associated service account, choose Specified service account, indicate whether the service account is in the current project or another one under Service account scope, and choose or type the service account name in the Target service account field. For an ingress rule, specify the Source filter: Choose IP ranges and type the CIDR blocks into the Source IP ranges field to define the source for incoming traffic by IP address ranges. Use 0.0.0.0/0 for a source from any network. Choose Subnets then mark the ones you need from the Subnets pop-up button to define the source for incoming traffic by subnet name. To limit source by network tag, choose Source tags, then type the network tags in to the Source tags field. For the limit on the number of source tags, see VPC Quotas and Limits. Filtering by source tag is only available if the target is not specified by service account. For more information, see filtering by service account vs.network tag. To limit source by service account, choose Service account, indicate whether the service account is in the current project or another one under Service account scope, and choose or type the service account name in the Source service account field. Filtering by source service account is only available if the target is not specified by network tag. For more information, see filtering by service account vs. network tag. Specify a Second source filter if desired. Secondary source filters cannot use the same filter criteria as the primary one. For an egress rule, specify the Destination filter: Choose IP ranges and type the CIDR blocks into the Destination IP ranges field to define the destination for outgoing traffic by IP address ranges. Use 0.0.0.0/0 to mean everywhere. Choose Subnets then mark the ones you need from the Subnets pop-up button to define the destination for outgoing traffic by subnet name. Define the Protocols and ports to which the rule will apply: Select Allow all or Deny all, depending on the action, to have the rule apply to all protocols and ports. Define specific protocols and ports: Select tcp to include the TCP protocol and ports. Enter all or a comma delimited list of ports, such as 20-22, 80, 8080. Select udp to include the UDP protocol and ports. Enter all or a comma delimited list of ports, such as 67-69, 123. Select Other protocols to include protocols such as icmp or sctp. (Optional) You can create the firewall rule but not enforce it by setting its enforcement state to disabled. Click Disable rule, then select Disabled. (Optional) You can enable firewall rules logging: Click Logs > On. Click Turn on. Click Create.
链接: [1] https://cloud.google.com/vpc/docs/firewalls firewall_rule_components
这个问题很老了,Carlos Rojas的回答很好,但我认为我应该发布一些在尝试开放端口时应该记住的事情。
首先要记住的是,“网络”部分被重命名为“VPC网络”。因此,如果您试图找出防火墙规则选项可用的地方,请查看VPC网络。
第二件事是,如果您试图在Linux虚拟机上打开端口,请确保在任何情况下都不应该尝试使用ufw命令打开端口。我尝试使用它,但失去了对虚拟机的ssh访问。所以不要重复我的错误。
第三件事是,如果你试图在Windows虚拟机上开放端口,你需要在虚拟机内部创建防火墙规则,也在Windows防火墙中创建VPC网络->防火墙规则。端口需要在两个防火墙规则中都打开,不像Linux VM。因此,如果您无法从虚拟机外部访问端口,请检查是否在GCP控制台和Windows防火墙中都打开了端口。
最后一件(显而易见的)事情是,不要不必要地打开端口。关闭端口,一旦你不再需要它。
我希望这个答案对你有用。