Linux-Networking

將外部 IPv6 提升為靜態?

  • November 30, 2021

在 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。

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

替換以下內容:

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 地址。


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

替換以下內容:

ADDRESS_NAME:您要呼叫此地址的名稱

IP_ADDRESS:您要推廣的 IP 地址

REGION:區域IP地址所屬的區域

--ip-version=IP_VERSION

要分配和保留的 IP 地址的版本。預設值為 IPV4。

只能為自動生成的全域地址指定 IP 版本(即,與--global標誌一起,--addresses未指定給定)並且如果--network-tierPREMIUM.

IP_VERSION必須是以下之一:IPV4、IPV6。

查看參考資料以獲取更多資訊:

保留靜態外部 IP 地址

為實例和實例模板配置 IPv6

gcloud 計算地址創建

引用自:https://serverfault.com/questions/1084426