Google compute engine 仅允许特定国家/地区连接到VM

Google compute engine 仅允许特定国家/地区连接到VM,google-compute-engine,Google Compute Engine,我如何使谷歌云虚拟机只能从某些国家访问 就像我需要80号端口是印度的唯一通道,那么我怎么做呢 我已经尝试使用国家ip阻止列表,但当我在源ip中输入所有ip时,我得到字符限制错误 我还尝试过通过将IP列表划分为多个部分来为同一端口创建多个规则,但这也不起作用。正如您所注意到的,这需要使用太多的规则;一种解决方法是在虚拟机中使用逻辑,例如操作系统防火墙(ufw,iptables,等等) 但是,将web服务器配置为对客户端IP的请求执行地理定位,在需要时返回不同的内容(禁止页面等),可能是更好的解决

我如何使谷歌云虚拟机只能从某些国家访问

就像我需要80号端口是印度的唯一通道,那么我怎么做呢

我已经尝试使用国家ip阻止列表,但当我在源ip中输入所有ip时,我得到字符限制错误


我还尝试过通过将IP列表划分为多个部分来为同一端口创建多个规则,但这也不起作用。

正如您所注意到的,这需要使用太多的规则;一种解决方法是在虚拟机中使用逻辑,例如操作系统防火墙(
ufw
iptables
,等等)


但是,将web服务器配置为对客户端IP的请求执行地理定位,在需要时返回不同的内容(禁止页面等),可能是更好的解决方案。

现在支持通过其web应用程序防火墙进行基于位置的流量过滤。您可以通过在
请求上进行筛选。origin

是否尝试从命令行创建防火墙规则?示例:gcloud计算防火墙规则创建tcp国家/地区允许--网络示例网络--源范围10.0.0.0/8--允许tcp:80@George是的,我尝试使用命令行,但出现以下错误:“必须是CIDR地址范围。”我以以下格式指定了IP地址:--源范围1.6.0.0/15,1.22.0.0/15,1.38.0.0/15,1.186.0.0/15,14.0.60.0/24。等等在使用2个IP进行测试后,我发现CMD只接受命令行中的1个IP。检查文档后,我尝试将源列表中的(逗号)替换为空格,但得到了相同的错误:“错误:(gcloud.compute.firewall rules.create)一些请求未成功:-字段“resource.sourceRanges”的值太大“我在我这边尝试了它,它在空格中起到了很好的作用。可能您正在添加一个带有附加0的地址。例如:我尝试了1.186.0.0.0/15,但收到了与您收到的相同的错误消息。我再次尝试了,但仍然存在相同的错误,您是否可以尝试使用以下IP列表:。我正在使用它,但得到的
太大
错误