如何将 IPv6 添加到 Google 云防火墙规则

如何将 IPv6 添加到 Google 云防火墙规则

我有一个防火墙,只允许特定的 IPv4 客户端访问。

不幸的是,Google 网络不允许网络内使用 ipv6 IP 地址。

有没有办法解决这个问题,以便我也可以允许 IPv6 地址?

虽然不太理想,但我可以完全禁用防火墙。

答案1

所有 VPC 网络均使用 IPv4 协议。Compute Engine 网络目前不支持 IPv6。不过,Google 是 IPv6 的主要倡导者,它是未来的一个重要方向。

换句话说,Compute Engine 不支持 IPv6。全局负载均衡器支持与客户端的 IPv6 连接,但它们将仅使用 IPv4 与您的 Compute Engine 资源进行通信。

答案2

这就是相关文件说:

防火墙规则

您必须创建一条防火墙规则,允许来自 130.211.0.0/22 和 35.191.0.0/16 的流量到达您的实例。此规则允许来自负载均衡器和健康检查器的流量。该规则必须允许全局转发规则配置为使用的端口上的流量,并且您的健康检查器应配置为使用同一端口。如果您的健康检查器使用不同的端口,则必须为该端口创建另一条防火墙规则。

请注意,防火墙规则在实例级别阻止和允许流量,而不是在网络边缘阻止和允许流量。它们无法阻止流量到达负载均衡器本身。

从互联网到 HTTP/HTTPS 负载均衡器的连接可以是 IPv4 或 IPv6(假设您已将每个系列的地址分配给负载均衡器)。从负载均衡器到虚拟机的连接目前仅为 IPv4,并将源自文档中提到的范围之一。客户端 IP 地址在 HTTP 标头中发送,可以是 IPv4 或 IPv6。

防火墙只能看到负载均衡器的 IPv4 地址,而看不到客户端的 IPv4 地址。如果您的虚拟机具有外部 IP 地址,并且您不想让客户端绕过负载均衡器,则可以使用防火墙规则仅允许来自为负载均衡器和健康检查分配的 IP 范围的 HTTP/HTTPS 连接。

答案3

Google Cloud 现在支持虚拟机实例上的外部 ipv6。每个实例都可以获得一个 /96 外部 IP 范围,可用于访问互联网(无需 NAT)或用于虚拟机到虚拟机的流量。

目前(2021 年 7 月)仅支持有限的地区:

  • 亚洲-东部1
  • 亚洲南部1
  • 欧洲-西部2
  • 美国西部2

详细内容请参阅

https://cloud.google.com/compute/docs/ip-addresses/configure-ipv6-address

https://cloud.google.com/vpc/docs/vpc#ipv6-addresses

VPC 防火墙规则现在也支持 IPv6: https://cloud.google.com/vpc/docs/firewalls#specifications

  • 防火墙规则支持 IPv4 连接。启用 IPv6 的 VPC 网络中也支持 IPv6 连接。通过地址指定入站规则的源或出站规则的目标时,您可以以 CIDR 表示法指定 IPv4 或 IPv6 地址或块。
  • 每个防火墙规则可以包含 IPv4 或 IPv6 范围,但不能同时包含两者。

相关内容