2016-09-27 110 views
3

我已经使用了防火墙规则,但仍无法接收vm实例的流量。我想要允许http服务器传入连接。默认情况下,Google计算引擎不允许网络外的传入流量,因此您必须创建防火墙规则。在谷歌云平台文档中,它建议禁用操作系统防火墙。要禁用它,我需要我的用户密码,这是我从未创建的。那么现在该怎么做?我需要我的用户密码,我是虚拟机实例的创建者。任何帮助? 这是我的防火墙设置:Google Compute Engine:如何禁用VM实例的防火墙?

[email protected]:~$ 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

验证默认情况下,没有操作系统防火墙,不用担心。你能显示你的GCE防火墙设置吗? – Dagang

+0

是的@Dagang。我已经更新了我的问题,你可以看到他们。 –

+0

注意到防火墙的TARGET_TAGS。你的虚拟机上有“http-server”和“https-server”标签吗?防火墙只适用于那些。 – Dagang

回答

1

这里有一些建议,以解决类似的问题。看看:

a)Google Firewall。根据提供的注释和输出,端口80已经打开,但只适用于保存tag ¨http-server¨的实例。

b)确保VM内的防火墙不过滤数据包。正如评论中提到的,谷歌提供的大多数public images都允许默认流量。

三)确保该服务不仅监听localhost,它是使用IPv4 address

使用nmap可以帮助确定问题是否是由防火墙引起的或服务器在此时,相应的不听港口。最新版本也可以使用¨netstat --listen¨

相关问题