我使用过防火墙规则,但仍然无法在vm实例上接收流量。我想允许http服务器传入连接。默认情况下,谷歌计算引擎不允许网络外的传入流量,因此您必须创建防火墙规则。在谷歌云平台文档中,它建议禁用操作系统防火墙。要禁用它,我需要我的用户密码,这是我从未创建的。那现在该怎么办?我的用户需要密码,我是vm实例的创建者。有帮助吗? 这些是我的防火墙设置:
saad_hussain@saad:~$ gcloud compute firewall-rules list
NAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS
default-allow-http default 0.0.0.0/0 tcp:80 http-server
default-allow-https default 0.0.0.0/0 tcp:443 https-server
default-allow-icmp default 0.0.0.0/0 icmp
default-allow-internal default 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp
default-allow-rdp default 0.0.0.0/0 tcp:3389
default-allow-ssh default 0.0.0.0/0 tcp:22
http default 0.0.0.0/0 tcp:80
https default 0.0.0.0/0 tcp:80
答案 0 :(得分:1)
以下是解决类似问题的一些建议。看看:
a)Google Firewall。根据提供的注释和输出,端口80已经打开,但仅适用于保存tag ¨http-server¨的实例。
b)确保VM内的防火墙不过滤数据包。正如评论中所提到的,Google提供的大部分public images都默认允许流量。
c)确保该服务不只是在localhost上进行聆听而且正在使用IPv4 address
使用nmap可以帮助确定问题是由防火墙引起还是服务器没有在适当的端口中侦听。最新版本也可以使用¨netstat --listen¨
进行验证答案 1 :(得分:1)
Console
从左侧菜单中单击Computer Engine
。
从左侧菜单中单击VM instances
。
three-dot menu(...)
。 选择“ View network details
”。 (现在您可以看到有关防火墙的规则)
从左侧菜单中单击“ Firewall Rules
”。
CREATE FIREWALL RULE
”按钮。在这里,您可以允许任何IP连接到您的虚拟机实例或允许任何端口进行连接。现在,您可以调整防火墙以适应虚拟机实例的运气。
答案 2 :(得分:0)
更新防火墙规则
您可以修改防火墙规则的任何组成部分,但其名称,网络,匹配操作和流量方向除外。
如果您需要更改名称,网络或操作或方向组件,则必须删除规则并创建一个新规则。
注意:如果要添加或删除多个服务帐户,请使用gcloud命令或API。您不能使用控制台指定多个目标服务帐户或源服务帐户。
控制台GCLOUD 1.转到Google Cloud Platform控制台中的“防火墙规则”页面。
转到防火墙规则页面
在“指定的协议和端口”字段中,使用以分号分隔的列表来指定多个协议。