跳到正文

请问为什么 GCP 的 VPC 网络中的“防火墙规则”不起作用?

网友提供8 条回复
系统是 CENTOS6,在控制台的 VPC 网络设置了防火墙规则,但是规则中未配置的端口仍然可以通讯,而且在实例中查看 iptables 状态时显示没有防火墙规则。
请问问题可能出在哪里?谢谢。
VPC 网络防火墙规则:

实例防火墙规则状态:

回复

dujiangbo

@flynnX 谢谢回复,是这样,GCP 上的一个实例装了$$R,我一开始都是在 vpc 下放行$$R 端口,偶然有一次发现我改了$$R 端口,但没在 vpc 下放行,手机和电脑仍然能够通过新端口访问$$R,所以就有此一问。
然后我尝试在实例上通过 Iptables ( centos6 )配置防火墙,不幸的是无论怎么放开 22 端口都不起作用,只要把 input 的默认规则改成拒绝,22 端口就无法连接。

flynnX

vpc 相当于路由器,vpc 上的防火墙可以作用于外部实例和内部实例,也可以作用于内部实例之间。你的 vpc 上有一条,default-allow-internal 规则,这条就是放行所有 vpc 下的实例,就是 vpc 里面的实例之间是互通的。现在主流云厂商,虚拟主机上不设置防火墙,都是通过 vpc 来设置,效率高,容易操作。GCP 我不太了解,console 上一般都可以设置吧。

至于你说的外部 ip 仍然可以访问端口,你指的是哪个端口,最好能贴下规则

cst4you

GCP 都是 nat 出去的

13198208

linux 内部的防火墙是系统级别的 gcp 的 vpc 你可以理解成路由器级别的 二个互不干扰

dujiangbo

@flynnX 不好意思啊,我感觉还是表达的不准确。
1.VPC 网络的防火墙规则具体的作用是什么?
2.GCP 上具体虚拟主机的防火墙规则和 VPC 网络的防火墙规则有什么区别?
3.想要定义 GCP 上具体虚拟主机的防火墙规则(比如虚拟主机的哪些端口可以访问)是不是只能通过命令行定义?
4.GCP 有没有定义具体虚拟主机防火墙规则的可视化工具?
非常感谢。

dujiangbo

@flynnX 我以为 VPC 网络上的防火墙规则是定义实例和外部 IP 之间的,比如有一个端口没有在 VPC 网络防火墙规则中定义,但是外部 IP 仍然可以访问该端口。

dujiangbo

@flynnX 谢谢。
1.请问 VPC 网络是指什么? GCP 上的解释是:“借助 Google Cloud Platform (GCP) VPC,您可以配置自己的 GCP 资源,将这些资源相互连接,并在 Virtual Private Cloud (VPC) 中彼此隔离。”
不是太明白,VPC 网络是不是管理 GCP 多个实例之间的联接的?防火墙规则是定义的各实例之间的访问规则,而不是定义实例和外部 IP 之间的?
2.请问我想定制一个具体实例与外部 IP 之间的防火墙规则是不是直接在实例上进行 iptables 定义就可以了? GCP 有可视化工具吗?
非常感谢。

flynnX

防火墙是应用在 VPC 上的,不是直接应用在虚拟主机上的,iptables 是查看不到的。规则不起作用是指什么,vpc 外的主机能通过规则外的端口访问?

↑