我有2谷歌计算引擎实例,我想在两个实例中打开端口9090。我认为我们需要添加一些防火墙规则。
你能告诉我该怎么做吗?
你需要:
访问cloud.google.com
进入我的控制台
选择网络>VPC网络
选择“创建防火墙规则”;
要应用规则选择虚拟机实例,请选择Targets >“;指定目标标签”,进入“;目标标签”;标记的名称。该标记将用于将新的防火墙规则应用到您想要的任何实例上。然后,确保实例应用了网络标记。
设置源IP范围允许所有IP流量:0.0.0.0/0
9090
单击创建(或单击“等效命令行”显示gcloud命令来创建相同的规则)
gcloud
我希望这对你有所帮助。
更新请参考文档自定义规则。
您需要添加一个防火墙规则,以便向您的实例打开对tcp:9090的入站访问。如果您有两个以上的实例,并且您只想向这两个实例打开9090,那么您将希望确保这两个实例共享一个标记。您可以通过控制台或命令行添加或更新标签;如果需要,我建议使用GUI,因为它处理setinstancetags的读取-修改-写入循环。
tcp:9090
setinstancetags
如果你想对所有实例开放端口9090,你可以创建这样的防火墙规则:
gcutil addfirewall allow-9090 --allowed=tcp:9090
这将适用于您的所有实例。
如果你只想为你的应用程序服务的两个实例打开端口9090,确保它们有my-app这样的标记,然后像这样添加防火墙:
my-app
gcutil addfirewall my-app-9090 --allowed=tcp:9090 --target_tags=my-app
你可以阅读更多关于在GCE中创建和管理防火墙。
我和你有同样的问题,我可以通过遵循@CarlosRojas的指示来解决它,但有一点不同。我没有创建一个新的防火墙规则,而是编辑了default-allow-internal来接受来自任何地方的流量,因为创建新规则没有任何区别。
default-allow-internal
下面是回答这个问题的命令行方法:
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 create命令手册中
--source-tags
--source-ranges
firewall-rule create
前面的答案很好,但是谷歌推荐使用更新的gcloud命令而不是gcutil命令。
gcutil
gcloud compute firewall-rules list
这个问题很老了,卡洛斯·罗哈斯的答案很好,但我认为我应该发布一些在尝试打开端口时应该记住的事情。
首先要记住的是网络节被重命名为VPC网络。因此,如果你试图找出防火墙规则选项可用的地方,请查看VPC网络。
第二件事是,如果你试图在Linux虚拟机上打开端口,确保在任何情况下都不应该尝试使用ufw命令打开端口。我尝试使用它,但失去了对虚拟机的ssh访问。所以不要重复我的错误。
ufw
第三件事是,如果你试图在Windows虚拟机上打开端口,你需要在虚拟机内部Windows防火墙和VPC组网->防火墙规则中创建防火墙规则。端口需要在两个防火墙规则中都打开,不像Linux VM。因此,如果您无法从虚拟机外部访问端口,请检查是否在GCP控制台和Windows防火墙中都打开了端口。
最后一件(显而易见的)事情是,不要不必要地打开端口。关闭端口,一旦你不再需要它。
我希望这个答案对你有用。
创建防火墙规则
如果您不熟悉GCP中的防火墙规则,请查看防火墙规则组件[1]。防火墙规则是在网络级别定义的,并且只应用于创建它们的网络;但是,为每个名称选择的名称对于项目必须是唯一的。
对于云控制台:
指定规则的target。
对于入口规则,指定Source过滤器:
对于出口规则,指定Destination过滤器:
根据动作选择“允许全部”或“拒绝全部”,使规则适用于所有协议和端口。
定义具体协议和端口:
(可选)您可以创建防火墙规则,但不强制防火墙规则,可以将防火墙规则的强制状态设置为禁用。单击“禁用”规则,然后选择“禁用”。
(可选)您可以启用防火墙规则日志记录:
单击Create。
我不得不通过降低优先级(使其更高)来解决这个问题。这立即引起了反应。跟我想的不一样,但成功了。
, console.cloud.google.com祝辞的在选择项目>>网络比;VPC网络>>防火墙在祝辞创建防火墙。
如果要将规则应用于虚拟机实例,请选择“Targets”,选择“指定的目标标签”,然后输入“&;目标标签”;标记的名称。该标记将用于将新的防火墙规则应用到您想要的任何实例上。
在“协议和港口”中;进入tcp: 9090
单击Save。
使用此命令打开端口
gcloud compute --project=<project_name> firewall-rules create firewall-rules --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:<port number> --source-ranges=0.0.0.0/0