如何修复GCP防火墙规则不起作用

问题描述

我在network中有一个GCP,具有已配置的防火墙规则。我有几个实例,其中两个如下。

instance 1 - with network tag "kube-master"
instance 2 - with network tag "kube-minion"

我想从kube-master ping至kube-minion,因此,我为master-to-node设置了防火墙规则(icmp),如下所示。

enter image description here

但是问题是我仍然无法从kube-master ping至kube-minion。我登录实例1(kube-master)并尝试ping实例2(kube-minion)的公共IP地址,但它不ping

如上图所示,我是否要限制这种行为?但是我将优先级设置为2,因此它将具有优先级。

当我将source设置为0.0.0.0/0而不是给kube-master时,它可以工作,但是我只需要从{{1 }}

有人可以告诉我我在哪里做错了吗?谢谢!

解决方法

documentation

中可以看到

因此,网络标签仍然仅在实例的网络接口所连接的网络中有意义。

因此,如果您使用公共IP访问VM,则您将离开网络访问它,并且标签信息丢失。使用虚拟机的专用IP,它将按预期工作。

如果要继续使用实例2的公共IP,请添加0.0.0.0/0作为源,或者将主机的公共IP添加到/ 32(更好)。

,

源标记仅适用于从VPC网络中另一个适用实例的网络接口发送的流量。即使外部IP地址属于实例,源标签也无法控制其源是外部IP地址的数据包。

当您从instance-1 ping instance-2的外部IP地址时,会转换ICMP请求,因此在接收方,该请求似乎来自一个IP地址(实例的外部IP- 1)与网络标签kube-master没有关联。

编辑:

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...