将外部 IPv6 提升为静态?

将外部 IPv6 提升为静态?

将外部可访问的 IPv6 范围提升为 VPC 子网内的静态命令是什么?

我的虚拟机可以在 64 位宽 IPv6 范围内访问,位于 96 位 IPv6 子网内。但是我担心这些可能会在没有警告的情况下发生变化...这个命令看起来应该可以工作:

gcloud compute addresses create myvm-6     --addresses "2600:abcd:abcd:abcd:0:0:0:0"     --region us-west2     --subnet neo-ipv6

ERROR: (gcloud.compute.addresses.create) Could not fetch resource:
 - Invalid value for field 'resource.address': '2600:abcd:abcd:abcd:0:0:0:0'. Requested IP is not within the range of subnetwork 'neo-ipv6'.

答案1

您只能保留两种类型的外部 IP 地址。全球的&区域,IPv4 支持两者,但IPv6仅支持全球

您无法为虚拟机实例保留 IPv6 地址,因为它仅支持全局 IP,并且只能用于全局负载均衡器,如文档

要了解有关区域和全球 IP 地址的更多信息,请查看此处关联

答案2

如果虚拟机实例 (VM) 所连接的子网已启用外部 IPv6 地址,则可以在虚拟机实例 (VM) 上配置外部 IPv6 地址。某些地区支持在子网上启用外部 IPv6 地址。

创建虚拟机并启用 IPv6

仅当您要连接的子网启用了外部 IPv6 地址时,您才可以创建具有外部 IPv6 地址的虚拟机。

gcloud compute instances create INSTANCE_NAME \
  --ipv6-network-tier=PREMIUM \
  --subnet=SUBNET_NAME \
  --stack-type=IPV4_IPV6 \
  --zone=ZONE

替换以下内容:

实例名称:实例的名称。

子网名称:实例要连接到的子网。子网必须启用 IPv6。

:部署实例的区域。

推广临时外部 IP 地址

如果您的实例具有临时外部 IP 地址,并且您想要将该 IP 永久分配给您的项目,请将临时外部 IP 地址提升为静态外部 IP 地址。将临时外部 IP 地址提升为保留不会导致 Google Cloud 丢弃发送到实例的数据包。这包括直接发送到实例或通过负载平衡器发送到实例的数据包。

要将临时外部 IP 地址升级为静态外部 IP 地址,请使用--addresses命令中的标志提供临时外部 IP 地址compute addresses create。使用region标志升级临时区域 IP 地址或使用global标志升级临时全局 IP 地址。


gcloud compute addresses create ADDRESS_NAME --addresses=IP_ADDRESS \
  [--region=REGION | --global]

替换以下内容:

地址名称:您要为该地址起的名字

IP地址:您要推广的 IP 地址

地区:区域 IP 地址所属区域

--ip-version=IP_VERSION

待分配和保留的IP地址的版本。默认为 IPV4。

IP 版本只能为自动生成的全局地址指定(即,与标志一起--global--addresses未指定给定的)并且如果--network-tierPREMIUM

IP 版本必须是以下之一:IPV4、IPV6。

查看参考资料以了解更多信息:

保留静态外部 IP 地址

为实例和实例模板配置 IPv6

gcloud 计算地址创建

答案3

更新:无法将全局 IP 地址分配给实例...它们只能分配给“全局负载均衡器”的简短列表。截至 2021 年 12 月,当前 API 不支持区域静态 IPv6 地址。

最好的办法是分配静态 IPv4 地址并依赖 6to4 隧道。或者,您可以使用 DynDNS 服务或 Cloud DNS 权限根据需要手动更新地址。

计算器:https://www.vultr.com/resources/ipv4-converter/


当前 API 不允许提升 IPv6 地址。因此,您需要为实例启用 IPv6 堆栈,创建一个新的区域 IPv6 静态 IP,并通过删除整个 accessConfig 并在 nic0 上创建一个新的 IPv6 来将其分配给实例。只有 nic0 支持 IPv6,因此您可能需要另一个 nic 来获取静态 IPv4 地址。

# 0. create a new nic for your IPv4, this can have an IPv4 only subnet
# 1. delete the access config for nic0

# 2. Create global static regional IPv6
gcloud compute addresses create myip-2021 --ip-version=IPV6 --region=us-west2

# 2.1: That command will result in the following error:
ERROR: (gcloud.compute.addresses.create) Could not fetch resource:
 - IP Version is not supported for regional addresses.

# 3. Cry as you can't do the following
gcloud compute addresses list # This will list the new IPv6 address
gcloud beta compute instances add-access-config myinstancename --address="2001:abcd:0123::"

相关内容