2

我正在尝试使用基于路由的经典 VPN 选项在我的本地设置和 GCP VPC 之间设置站点 2 站点 VPN。

现在,无论我尝试在此设置中提供什么输入,我始终面临有关项目默认网络层为Standard.

STANDARD network tier (the project's default network tier) is not supported: The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

GCP Docs中,我知道Standard网络层不支持 VPN 网关。此外,如果我尝试通过此经典 VPN 设置向导为 VPN 网关创建 IP,则该 IP 仅从Premium网络层提供。

我还想过以某种方式明确指定Premium用于 VPN 设置的网络层,但谷歌控制台中似乎没有任何此类选项;虽然这在创建 VM 实例时非常有效,即我可以轻松地为我的 VM 选择网络层,无论我的项目的默认网络层是什么。

这种行为似乎并不常见。看起来经典 VPN 设置希望我的项目的默认层是Premium,这对我来说毫无意义。我需要对这种行为进行一些确认,并且我没有做错什么。在 GCP 上设置经典 VPN 时,还有其他方法可以指定 VPN 网关的网络层吗?


编辑:

我的本地 VPN 网关仅支持静态路由,因此无法使用 HA VPN。此外,Classic VPN deprecation 仅适用于动态路由配置,因此我认为我的配置目前是安全的。

Standard使用层进行 VPN 设置并不是硬性要求。只是在尝试配置它时,我遇到了这个冲突。我正在尝试在我公司的侧网络和 GCP VPC 之间设置 VPN。目前项目的默认网络层(VPC 所在的层)是,为了这个需求Standard它不太可能更改为。Premium我认为更好的选择是创建一个单独的项目并将Premium网络层作为默认设置。

我想要确认我所面临的错误确实是控制台流程中的一个问题,并且我没有遗漏任何东西,例如是否可以指定一些其他参数以使经典 VPN 设置向导成功并使用高级网络层(或任何其他要求)。

简而言之,我无法使用向导在 GCP 端设置 Classic VPN,并且报告的错误似乎表明项目的默认层Standard是问题所在。现在因为我仍然可以premium在这个项目中使用网络层创建虚拟机而没有任何问题。VPN设置不应该也可以吗?

4

2 回答 2

0

由于我在使用 Classic VPN WebUI 向导时遇到了一致的错误,因此我采用 CLI 方式并使用gcloud实用程序来创建与Premium网络层相关的 VPN 资源。我能够以这种方式创建 VPN 资源,而项目的默认网络层仍设置为Standard.
参考:(https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-static-vpns#creating_a_gateway_and_tunnel)。

注意:我当前的 GCP 项目仍然有默认网络层为Standard.

  1. 一个简单的 VPN 网关(没有特定于任何网络层):
gcloud compute target-vpn-gateways create GW_NAME    --network=NETWORK    --region=REGION    --project=PROJECT_ID
  1. 将网络层的 IP 保留为Premium.
  2. 然后创建了 3 个转发规则(注意网络层被明确指定为Premium此处):
gcloud compute forwarding-rules create fr-GW_NAME-esp    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=ESP    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp500    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=UDP    --ports=500    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
gcloud compute forwarding-rules create fr-GW_NAME-udp4500    --load-balancing-scheme=EXTERNAL    --network-tier=PREMIUM    --ip-protocol=UDP    --ports=4500    --address=GW_IP_NAME    --target-vpn-gateway=GW_NAME    --region=REGION    --project=PROJECT_ID
  1. 现在可以使用 CLI 和 WebUI 配置隧道。

现在来看看 WebUI 向导的问题:

在运行 gcloud 命令来设置转发规则时,如果我将网络层指定为 Standard --network-tier=STANDARD,我会收到与使用 WebUI 向导时遇到的几乎相同的错误。

ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource:
 - The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

如果我没有在参数中指定网络层,那么我会得到与 WebUI 向导完全相同的错误。

ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource:
 - STANDARD network tier (the project's default network tier) is not supported: The network tier of specified IP address is PREMIUM, that of Forwarding Rule must be the same.

这使我相信 GCP WebUI 中存在一个错误,即在使用向导创建经典 VPN 时,它没有Premium为其内部调用指定所需的网络层。默认情况下,项目的默认网络层 ieStandard被拾取,最终失败,因为Standard网络层不支持 VPN 资源。

同样后来,在一些请求之后,我能够得到另一个 GCP 项目,其中默认网络层是Premium. 经典 VPN 设置向导在那里成功。

总之,我发现如果项目的默认网络层设置为Standard.

于 2021-12-14T21:36:19.397 回答
0

OP 希望使用带有静态路由的Classic VPNCorporate NetworkGoogle Cloud Platform站点到站点连接(某些功能将于 2022 年 3 月 31 日弃用,有关更多详细信息,请查看此文档。由于该更改,GCP 建议使用HA VPN) .

经典 VPN 拓扑中,需要使用Cloud VPN Gateway(至少在 GCP 端),并且Google Cloud Platform仅在高级网络层中可用(默认情况下也推荐使用)。否则你会得到像 OP 这样的错误:

不支持STANDARD网络层(项目默认网络层):指定IP地址的网络层为PREMIUM,转发规则的网络层必须相同。

但是,有可能在Network Tiers. 根据更改期间的信息,tier您将弹出信息:

新资源将默认使用所选层(现有资源不会更改层)

表示您可以在层之间切换,并且在您更改时在特定层中创建的资源不会更改Network Tier。不确定这是否会在此设置中起作用,具体取决于corporate network/environment配置。

解决方案:

由于Classic VPN站点到站点需要Cloud VPN Gateway,您需要在 上创建此资源Premium Tier,而不是Standard.

提供完整的解决方案是不可能的,因为本地配置是具有自己特定安全性/配置的企业网络。它还取决于 GCP 项目中的 OP 权限。

附加文档

于 2021-12-13T16:05:03.007 回答