在 VPC 子网中将可外部访问的 IPv6 范围提升为静态的命令是什么?
我的 VM 可在 96 位 IPv6 子网内的 64 位宽 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'.
您只能保留两种类型的外部 IP 地址。全球和地区,IPv4 两者都支持,但IPv6 只支持全球。
您不能为 VM 实例保留 IPv6 地址,因为它仅支持全局 IP,并且只能用于文档中所述的全局负载均衡器。
要了解有关区域和全球 IP 地址的更多信息,请查看此链接。
如果虚拟机实例 (VM) 连接到的子网启用了外部 IPv6 地址,则可以在虚拟机实例 (VM) 上配置外部 IPv6 地址。某些区域支持在子网上启用外部 IPv6 地址。
创建 VM 并启用 IPv6
仅当您连接到的子网启用了外部 IPv6 地址时,您才能创建具有外部 IPv6 地址的 VM。
替换以下内容:
INSTANCE_NAME:实例的名称。
SUBNET_NAME:将实例连接到的子网。子网必须启用 IPv6。
ZONE:部署实例的区域。
提升临时外部 IP 地址
如果您的实例具有临时外部 IP 地址,并且您希望将该 IP 永久分配给您的项目,请将临时外部 IP 地址提升为静态外部 IP 地址。将临时外部 IP 地址提升为保留地址不会导致 Google Cloud 丢弃发送到实例的数据包。这包括直接或通过负载均衡器发送到实例的数据包。
要将临时外部 IP 地址提升为静态外部 IP 地址,请使用带有命令的
--addresses
标志提供临时外部 IP 地址。compute addresses create
使用region
标志来提升临时区域 IP 地址或使用global
标志来提升临时全局 IP 地址。替换以下内容:
ADDRESS_NAME:您要调用此地址的名称
IP_ADDRESS:您要推广的 IP 地址
REGION:区域IP地址所属的区域
要分配和保留的 IP 地址的版本。默认值为 IPV4。
只能为自动生成的全局地址指定 IP 版本(即,与
--global
标志一起,--addresses
未指定给定)并且如果--network-tier
是PREMIUM
.IP_VERSION必须是以下之一:IPV4、IPV6。
查看参考资料以获取更多信息:
保留静态外部 IP 地址
为实例和实例模板配置 IPv6
gcloud 计算地址创建
更新:无法将全局 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。IPv6 仅在 nic0 上受支持,因此您可能需要另一个 nic 用于静态 IPv4 地址。